[
  {
    "path": "clear bgp healthcheck",
    "description": "Reset healthcheck probe to INIT",
    "mode": "daemon",
    "usage": "clear bgp healthcheck",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear bgp rib in",
    "description": "Remove all routes received from a peer.",
    "long-help": "Wipes the Adj-RIB-In for matched peers. They will need to\nre-advertise everything (or you can send a route-refresh).\nSelector: IP, name, AS pattern, glob, or *.",
    "mode": "daemon",
    "wire-method": "ze-rib-api:clear-in",
    "task-support": "forbidden",
    "usage": "clear bgp rib in",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "rib",
        "kind": "keyword"
      },
      {
        "text": "in",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear bgp rib out",
    "description": "Re-advertise all routes to a peer.",
    "long-help": "Triggers a full Adj-RIB-Out replay to the selected peers. Useful\nafter a policy change to push updated attributes without tearing\ndown the session. Selector: IP, name, AS pattern, glob, or *.",
    "mode": "daemon",
    "wire-method": "ze-rib-api:clear-out",
    "task-support": "forbidden",
    "usage": "clear bgp rib out",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "rib",
        "kind": "keyword"
      },
      {
        "text": "out",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear debug",
    "description": "Clear the default debug profile.",
    "long-help": "It writes an empty profile into the default slot AND applies it, so the stored default and the running daemon both stop. A named profile is not touched.",
    "mode": "offline"
  },
  {
    "path": "clear dns cache",
    "description": "Flush all DNS cache entries and reset all DNS cache counters.",
    "long-help": "The entries and the four counters go together. Use clear dns cache\nstats to zero the counters and keep the entries, or clear dns cache record to evict one\nname.",
    "mode": "daemon",
    "wire-method": "ze-clear:dns-cache",
    "usage": "clear dns cache",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "dns",
        "kind": "keyword"
      },
      {
        "text": "cache",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "record",
      "stats"
    ]
  },
  {
    "path": "clear dns cache record",
    "description": "Evict DNS cache entries for one record name, or one name and type when a type is provided.",
    "long-help": "Add type <record-type> after the name to evict one type, and\ngive no other tail. An unknown type is reported inside the answer rather than as an error.",
    "mode": "daemon",
    "wire-method": "ze-clear:dns-cache-record",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "type",
        "type": "enum",
        "values": [
          "A",
          "AAAA",
          "MX",
          "NS",
          "TXT",
          "CNAME",
          "PTR"
        ]
      }
    ],
    "usage": "clear dns cache record <name> [type <A|AAAA|MX|NS|TXT|CNAME|PTR>]",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "dns",
        "kind": "keyword"
      },
      {
        "text": "cache",
        "kind": "keyword"
      },
      {
        "text": "record",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "type",
        "values": [
          "A",
          "AAAA",
          "MX",
          "NS",
          "TXT",
          "CNAME",
          "PTR"
        ],
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear dns cache stats",
    "description": "Reset DNS cache hit, miss, eviction, and expiry counters without removing cached entries.",
    "long-help": "The cached entries stay, so the next lookup is still served\nfrom the cache. Only the hit, miss, eviction and expiry counters go to zero.",
    "mode": "daemon",
    "wire-method": "ze-clear:dns-cache-stats",
    "usage": "clear dns cache stats",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "dns",
        "kind": "keyword"
      },
      {
        "text": "cache",
        "kind": "keyword"
      },
      {
        "text": "stats",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear firewall domain-group",
    "description": "Remove the addresses Ze cached for a domain group.",
    "long-help": "Drops the group's addresses from memory and from the persisted\ncache, then re-applies the firewall tables. Config that still\nnames the group fails to verify until it is resolved again with\n'update firewall domain-group <name>'.",
    "mode": "daemon",
    "wire-method": "ze-clear:firewall-domain-group",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "clear firewall domain-group <name>",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "firewall",
        "kind": "keyword"
      },
      {
        "text": "domain-group",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear firewall irr as-set",
    "description": "Remove the cached IRR prefix-list for an AS-SET.",
    "long-help": "Drops the entry from memory and from the persisted\ncache, then re-applies the firewall tables.",
    "mode": "daemon",
    "wire-method": "ze-clear:firewall-irr-as-set",
    "args": [
      {
        "name": "as-set",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "clear firewall irr as-set <as-set>",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "firewall",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "as-set",
        "kind": "keyword"
      },
      {
        "text": "as-set",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear firewall irr asn",
    "description": "Remove the cached IRR prefix-list for an ASN.",
    "long-help": "Drops the entry from memory and from the persisted\ncache, then re-applies the firewall tables. Config that still references the\nASN fails to verify until it is fetched again with\n'update firewall irr asn <asn>'.",
    "mode": "daemon",
    "wire-method": "ze-clear:firewall-irr-asn",
    "args": [
      {
        "name": "asn",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "clear firewall irr asn <asn>",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "firewall",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "asn",
        "kind": "keyword"
      },
      {
        "text": "asn",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear interface counters",
    "description": "Zero the Rx/Tx counters for every managed interface.",
    "long-help": "One call resets every interface the backend manages, and the answer\nreports the scope as all. Nothing else about the interfaces changes.",
    "mode": "daemon",
    "wire-method": "ze-clear:interface-counters",
    "usage": "clear interface counters",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "counters",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear interface name counters",
    "description": "Zero the Rx/Tx counters for one interface.",
    "long-help": "Only the named interface is reset. Ze translates the name to\nits kernel device first, so a name bound to hardware by a selector clears the right port.",
    "mode": "daemon",
    "wire-method": "ze-clear:interface-counters",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "clear interface name <name> counters",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "counters",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear isis adjacency",
    "description": "Tear down every IS-IS adjacency so neighbors re-form.",
    "long-help": "Adjacencies re-learn from the next Hello; the circuit is not closed and the\nconfiguration is unchanged.",
    "mode": "daemon",
    "wire-method": "ze-clear:isis-adjacency",
    "usage": "clear isis adjacency",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "isis",
        "kind": "keyword"
      },
      {
        "text": "adjacency",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear isis counters",
    "description": "Reset IS-IS observational counters and the SPF log.",
    "long-help": "Monotonic Prometheus series are not reset; the SPF-run history is cleared.",
    "mode": "daemon",
    "wire-method": "ze-clear:isis-counters",
    "usage": "clear isis counters",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "isis",
        "kind": "keyword"
      },
      {
        "text": "counters",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear l2tp session all",
    "description": "Disconnect every L2TP session on this box.",
    "long-help": "Sends CDN for all sessions across all tunnels. The\ntunnels stay up. Use with care.",
    "mode": "daemon",
    "wire-method": "ze-l2tp-api:session-teardown-all",
    "usage": "clear l2tp session all",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "session",
        "kind": "keyword"
      },
      {
        "text": "all",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear l2tp session id",
    "description": "Disconnect one subscriber session.",
    "long-help": "Sends a CDN to gracefully close the session. Pass\nthe local session ID: clear l2tp session id <id> [reason <text>] [cause\n<code>].",
    "mode": "daemon",
    "wire-method": "ze-l2tp-api:session-teardown",
    "usage": "clear l2tp session id",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "session",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear l2tp tunnel all",
    "description": "Tear down every L2TP tunnel on this box.",
    "long-help": "Sends StopCCN for all tunnels. Every subscriber\nsession is disconnected. Use with care during maintenance.",
    "mode": "daemon",
    "wire-method": "ze-l2tp-api:tunnel-teardown-all",
    "usage": "clear l2tp tunnel all",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "tunnel",
        "kind": "keyword"
      },
      {
        "text": "all",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear l2tp tunnel id",
    "description": "Gracefully tear down one L2TP tunnel.",
    "long-help": "Sends a StopCCN to the peer. Every session on this\ntunnel is disconnected. Pass the local tunnel ID: clear l2tp tunnel id\n<id>.",
    "mode": "daemon",
    "wire-method": "ze-l2tp-api:tunnel-teardown",
    "usage": "clear l2tp tunnel id",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "tunnel",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear ospf counters",
    "description": "Reset the OSPF SPF-run history.",
    "long-help": "Monotonic Prometheus series are not reset; the SPF-run log is cleared.",
    "mode": "daemon",
    "wire-method": "ze-clear:ospf-counters",
    "usage": "clear ospf counters",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "counters",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear ospf neighbor",
    "description": "Tear down every OSPF adjacency so neighbors re-form.",
    "long-help": "Adjacencies re-learn from the next Hello.",
    "mode": "daemon",
    "wire-method": "ze-clear:ospf-neighbor",
    "usage": "clear ospf neighbor",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "neighbor",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear ospf process",
    "description": "Full OSPF reset: tear down every adjacency and re-run SPF.",
    "long-help": "Adjacencies re-form from the next Hello; the configuration is unchanged.",
    "mode": "daemon",
    "wire-method": "ze-clear:ospf-process",
    "usage": "clear ospf process",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "process",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear vpn ipsec sa",
    "description": "Tear down IKE Security Associations.",
    "long-help": "Without arguments, terminates all SAs. Use\n'peer <name>' to clear just one peer. The tunnel WILL renegotiate\nautomatically if the config is still active.",
    "mode": "daemon",
    "wire-method": "ze-clear:vpn-ipsec-sa",
    "usage": "clear vpn ipsec sa",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "vpn",
        "kind": "keyword"
      },
      {
        "text": "ipsec",
        "kind": "keyword"
      },
      {
        "text": "sa",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "clear vrrp statistics",
    "description": "Reset every VRRP virtual router's counters to zero.",
    "long-help": "Protocol state is untouched: clearing counters never triggers a failover.",
    "mode": "daemon",
    "wire-method": "ze-clear:vrrp-statistics",
    "usage": "clear vrrp statistics",
    "grammar": [
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "vrrp",
        "kind": "keyword"
      },
      {
        "text": "statistics",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "create bgp peer",
    "description": "Add a peer to the running daemon.",
    "long-help": "The peer address and 'asn' are required. Every other keyword is\noptional. Ze builds the peer, starts it, and dials the address unless 'connect\nfalse' says otherwise. The peer lives in the running daemon alone. Ze writes\nnothing to the configuration, so a reload removes the peer. 'delete bgp peer'\ndoes the same on the way out, and it does not change the file on disk. An\naddress that already names a peer is refused, and so is a keyword Ze cannot\nhonor. Each name in 'attach' is bound to the whole surface: that process\nreceives every message from this peer and can send every type toward it. Write\nthe receive and send lists in the configuration file when the process needs\nless.",
    "mode": "daemon",
    "wire-method": "ze-bgp:peer-add",
    "args": [
      {
        "name": "selector",
        "type": "union",
        "mandatory": true
      },
      {
        "name": "asn",
        "type": "union",
        "mandatory": true
      },
      {
        "name": "local-as",
        "type": "union"
      },
      {
        "name": "local-address",
        "type": "union"
      },
      {
        "name": "router-id",
        "type": "string"
      },
      {
        "name": "receive-hold-time",
        "type": "uint"
      },
      {
        "name": "send-hold-time",
        "type": "uint"
      },
      {
        "name": "connect-retry",
        "type": "uint"
      },
      {
        "name": "connect",
        "type": "enum",
        "values": [
          "true",
          "false"
        ]
      },
      {
        "name": "accept",
        "type": "enum",
        "values": [
          "true",
          "false"
        ]
      },
      {
        "name": "family",
        "type": "string"
      },
      {
        "name": "graceful-restart",
        "type": "uint"
      },
      {
        "name": "group-updates",
        "type": "enum",
        "values": [
          "true",
          "false"
        ]
      },
      {
        "name": "attach",
        "type": "string"
      }
    ],
    "usage": "create bgp peer <selector> <asn> [local-as <local-as>] [local-address <local-address>] [router-id <router-id>] [receive-hold-time <receive-hold-time>] [send-hold-time <send-hold-time>] [connect-retry <connect-retry>] [connect <true|false>] [accept <true|false>] [family <family>] [graceful-restart <graceful-restart>] [group-updates <true|false>] [attach <attach>]",
    "grammar": [
      {
        "text": "create",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "asn",
        "kind": "value"
      },
      {
        "text": "local-as",
        "kind": "option"
      },
      {
        "text": "local-address",
        "kind": "option"
      },
      {
        "text": "router-id",
        "kind": "option"
      },
      {
        "text": "receive-hold-time",
        "kind": "option"
      },
      {
        "text": "send-hold-time",
        "kind": "option"
      },
      {
        "text": "connect-retry",
        "kind": "option"
      },
      {
        "text": "connect",
        "values": [
          "true",
          "false"
        ],
        "kind": "option"
      },
      {
        "text": "accept",
        "values": [
          "true",
          "false"
        ],
        "kind": "option"
      },
      {
        "text": "family",
        "kind": "option"
      },
      {
        "text": "graceful-restart",
        "kind": "option"
      },
      {
        "text": "group-updates",
        "values": [
          "true",
          "false"
        ],
        "kind": "option"
      },
      {
        "text": "attach",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "column-orders": [
      [
        "peer",
        "remote-as",
        "message"
      ]
    ]
  },
  {
    "path": "create interface address",
    "description": "Add an IP address to an interface.",
    "long-help": "The interface must already exist.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-addr-add",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "prefix",
        "type": "union",
        "mandatory": true
      }
    ],
    "usage": "create interface address <name> <prefix>",
    "grammar": [
      {
        "text": "create",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "address",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "prefix",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "create interface bridge name",
    "description": "Create a Linux bridge for L2 forwarding.",
    "long-help": "The command is idempotent. When a unit or address command under\nit fails, and this command created the bridge, the bridge is deleted again.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-create-bridge",
    "backend": [
      "netlink"
    ],
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "create interface bridge name <name>",
    "grammar": [
      {
        "text": "create",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "bridge",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "address",
      "unit"
    ]
  },
  {
    "path": "create interface bridge name address",
    "description": "Add an IP address to the bridge.",
    "long-help": "The address is written in CIDR form, for example\n10.0.0.1/32. The bridge is created first when it is absent, and deleted again when this step\nfails.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-addr-add",
    "backend": [
      "netlink"
    ],
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "prefix",
        "type": "union",
        "mandatory": true
      }
    ],
    "usage": "create interface bridge name <name> address <prefix>",
    "grammar": [
      {
        "text": "create",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "bridge",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "address",
        "kind": "keyword"
      },
      {
        "text": "prefix",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "create interface bridge name unit",
    "description": "Add a VLAN sub-interface to the bridge.",
    "long-help": "The VLAN id is 1 to 4094, and the new interface is named\n<name>.<vid>. The bridge is created first when it is absent, and deleted again when this\nstep fails.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-unit-add",
    "backend": [
      "netlink"
    ],
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "vid",
        "type": "uint",
        "mandatory": true
      }
    ],
    "usage": "create interface bridge name <name> unit <vid>",
    "grammar": [
      {
        "text": "create",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "bridge",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "unit",
        "kind": "keyword"
      },
      {
        "text": "vid",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "create interface dummy name",
    "description": "Create a dummy (loopback-style) interface.",
    "long-help": "The command is idempotent. When a unit or address command under\nit fails, and this command created the interface, the interface is deleted again.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-create-dummy",
    "backend": [
      "netlink"
    ],
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "create interface dummy name <name>",
    "grammar": [
      {
        "text": "create",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "dummy",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "address",
      "unit"
    ]
  },
  {
    "path": "create interface dummy name address",
    "description": "Add an IP address to the dummy.",
    "long-help": "The address is written in CIDR form, for example\n10.0.0.1/32. The dummy is created first when it is absent, and deleted again when this step\nfails.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-addr-add",
    "backend": [
      "netlink"
    ],
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "prefix",
        "type": "union",
        "mandatory": true
      }
    ],
    "usage": "create interface dummy name <name> address <prefix>",
    "grammar": [
      {
        "text": "create",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "dummy",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "address",
        "kind": "keyword"
      },
      {
        "text": "prefix",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "create interface dummy name unit",
    "description": "Add a VLAN sub-interface to the dummy.",
    "long-help": "The VLAN id is 1 to 4094, and the new interface is named\n<name>.<vid>. The dummy is created first when it is absent, and deleted again when this step\nfails.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-unit-add",
    "backend": [
      "netlink"
    ],
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "vid",
        "type": "uint",
        "mandatory": true
      }
    ],
    "usage": "create interface dummy name <name> unit <vid>",
    "grammar": [
      {
        "text": "create",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "dummy",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "unit",
        "kind": "keyword"
      },
      {
        "text": "vid",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "create interface unit",
    "description": "Add a VLAN sub-interface (802.1Q tagged).",
    "long-help": "The parent interface must already exist.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-unit-add",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "vid",
        "type": "uint",
        "mandatory": true
      }
    ],
    "usage": "create interface unit <name> <vid>",
    "grammar": [
      {
        "text": "create",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "unit",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "vid",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "create interface veth name",
    "description": "Create a veth pair (two linked virtual Ethernet interfaces).",
    "long-help": "The peer name is the second value and is required. A second\ncreate of the same name changes nothing and reports that the pair is present.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-create-veth",
    "backend": [
      "netlink"
    ],
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "peer",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "create interface veth name <name> <peer>",
    "grammar": [
      {
        "text": "create",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "veth",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "peer",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "debug ip ospf inject opaque",
    "description": "Inject a crafted IPv4 opaque LSA into the local LSDB (RFC 5250).",
    "long-help": "The default Opaque Type is Private-Use so a test LSA never collides with a\nstandards-track consumer. Requires `debug ospf inject enable`.",
    "mode": "daemon",
    "wire-method": "ze-debug:ospf-inject",
    "usage": "debug ip ospf inject opaque scope <link|area|as> id <opaque-id> [type <type>] [hex <body> ...] [tlv <type> <value-hex> ...] [withdraw]",
    "grammar": [
      {
        "text": "debug",
        "kind": "keyword"
      },
      {
        "text": "ip",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "inject",
        "kind": "keyword"
      },
      {
        "text": "opaque",
        "kind": "keyword"
      },
      {
        "text": "scope",
        "kind": "keyword"
      },
      {
        "text": "scope",
        "values": [
          "link",
          "area",
          "as"
        ],
        "kind": "value"
      },
      {
        "text": "id",
        "kind": "keyword"
      },
      {
        "text": "opaque-id",
        "kind": "value"
      },
      {
        "text": "type",
        "group": [
          {
            "text": "type",
            "kind": "value"
          }
        ],
        "kind": "group"
      },
      {
        "text": "hex",
        "group": [
          {
            "text": "body",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "tlv",
        "group": [
          {
            "text": "type",
            "kind": "value"
          },
          {
            "text": "value-hex",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "withdraw",
        "kind": "group"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "hex",
      "id",
      "scope",
      "tlv",
      "type",
      "withdraw"
    ]
  },
  {
    "path": "debug ipv6 ospf inject lsa",
    "description": "Inject a crafted OSPFv3 LSA into the local LSDB (RFC 5340).",
    "long-help": "The flooding scope is derived from the LS Type S2/S1 bits (a reserved scope is\nrejected). Requires `debug ospf inject enable`.",
    "mode": "daemon",
    "wire-method": "ze-debug:ospfv3-inject",
    "usage": "debug ipv6 ospf inject lsa type <ls-type> id <link-state-id> [scope <link|area|as>] [hex <body> ...] [withdraw]",
    "grammar": [
      {
        "text": "debug",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "inject",
        "kind": "keyword"
      },
      {
        "text": "lsa",
        "kind": "keyword"
      },
      {
        "text": "type",
        "kind": "keyword"
      },
      {
        "text": "ls-type",
        "kind": "value"
      },
      {
        "text": "id",
        "kind": "keyword"
      },
      {
        "text": "link-state-id",
        "kind": "value"
      },
      {
        "text": "scope",
        "group": [
          {
            "text": "scope",
            "values": [
              "link",
              "area",
              "as"
            ],
            "kind": "value"
          }
        ],
        "kind": "group"
      },
      {
        "text": "hex",
        "group": [
          {
            "text": "body",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "withdraw",
        "kind": "group"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "hex",
      "id",
      "scope",
      "type",
      "withdraw"
    ]
  },
  {
    "path": "debug ospf inject disable",
    "description": "Disable OSPF debug LSA injection.",
    "long-help": "One flag covers both address families, so this stops IPv4 and IPv6\ninjection together. An inject after it fails with 'debug injection not enabled\n(run `debug ospf inject enable`)'. The flag is never written to the config, so\na reboot returns the router to injection off.",
    "mode": "daemon",
    "wire-method": "ze-debug:ospf-inject-disable",
    "usage": "debug ospf inject disable",
    "grammar": [
      {
        "text": "debug",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "inject",
        "kind": "keyword"
      },
      {
        "text": "disable",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "debug ospf inject enable",
    "description": "Enable OSPF debug LSA injection (shared across both address families).",
    "long-help": "Off by default.",
    "mode": "daemon",
    "wire-method": "ze-debug:ospf-inject-enable",
    "usage": "debug ospf inject enable",
    "grammar": [
      {
        "text": "debug",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "inject",
        "kind": "keyword"
      },
      {
        "text": "enable",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "delete bgp peer",
    "description": "Remove a peer from the running config.",
    "long-help": "Tears down the TCP session and deletes the peer from the running\nconfiguration. Does not modify the config file on disk.",
    "mode": "daemon",
    "wire-method": "ze-delete:bgp-peer",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "delete bgp peer <selector>",
    "grammar": [
      {
        "text": "delete",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "delete debug module",
    "description": "Disable debug for a subsystem, or remove one of its flags/scopes.",
    "long-help": "The module name alone removes the whole module. Naming a flag or a scope removes that one and leaves the module enabled. Deleting a module the profile does not hold succeeds and changes nothing, so a repeated command is safe.",
    "mode": "offline"
  },
  {
    "path": "delete debug profile name",
    "description": "Delete a named debug profile.",
    "long-help": "It removes the stored slot and nothing else. The running daemon keeps whatever it is writing, so deleting the profile that is live does not turn its output off.",
    "mode": "offline"
  },
  {
    "path": "delete interface name",
    "description": "Delete an interface from the kernel.",
    "long-help": "The dispatcher calls this same command to undo a compound create.\nAn interface it created is deleted when the unit or address step after it fails.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-delete",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "delete interface name <name>",
    "grammar": [
      {
        "text": "delete",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "address",
      "unit"
    ]
  },
  {
    "path": "delete interface name address",
    "description": "Remove an IP address from an interface.",
    "long-help": "Give the address in the same CIDR form it was added with. The\ninterface stays, and only that address goes.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-addr-del",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "prefix",
        "type": "union",
        "mandatory": true
      }
    ],
    "usage": "delete interface name <name> address <prefix>",
    "grammar": [
      {
        "text": "delete",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "address",
        "kind": "keyword"
      },
      {
        "text": "prefix",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "delete interface name unit",
    "description": "Remove a VLAN sub-interface.",
    "long-help": "The VLAN id is 1 to 4094. The interface deleted is\n<name>.<vid>, so the parent interface stays.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-unit-del",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "vid",
        "type": "uint",
        "mandatory": true
      }
    ],
    "usage": "delete interface name <name> unit <vid>",
    "grammar": [
      {
        "text": "delete",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "unit",
        "kind": "keyword"
      },
      {
        "text": "vid",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "doctor",
    "description": "Check that this system is ready to run Ze.",
    "long-help": "The checks cover kernel features, file descriptor limits, listening sockets and the dependencies Ze needs. Run it before the first start, and again after a change to the platform.",
    "mode": "offline"
  },
  {
    "path": "explain",
    "description": "Explain one diagnostic code Ze printed.",
    "long-help": "The answer gives the meaning of the code, its likely cause and the recommended fix. Pass the code you read in a log line or an error message.",
    "mode": "offline"
  },
  {
    "path": "generate wireguard keypair",
    "description": "Generate a WireGuard keypair with the system wg binary.",
    "long-help": "The private key is written on the first line and the public key on the second. The wg binary must be installed on this host.",
    "mode": "offline"
  },
  {
    "path": "help",
    "description": "Show available commands at this level.",
    "long-help": "Lists every registered command verb with a brief description.",
    "mode": "read-only",
    "wire-method": "ze-bgp:help",
    "usage": "help",
    "grammar": [
      {
        "text": "help",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "help ai",
    "description": "Print the agent reference this binary builds from its own registries.",
    "long-help": "The sections are cli, api, mcp, dispatch and all, and the answer renders as JSON for a program to read.",
    "mode": "offline"
  },
  {
    "path": "help command",
    "description": "List every command this binary carries with its summary.",
    "long-help": "A filter word keeps the commands whose path holds it, and the answer renders as JSON for a program to read.",
    "mode": "offline"
  },
  {
    "path": "monitor bgp",
    "description": "Live BGP peer dashboard that refreshes automatically.",
    "long-help": "Shows all peers with state, uptime, and prefix counts. State changes\nhighlight as they happen. Ctrl-C to stop.",
    "mode": "read-only",
    "wire-method": "ze-bgp:monitor",
    "task-support": "required",
    "usage": "monitor bgp",
    "grammar": [
      {
        "text": "monitor",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "monitor event",
    "description": "Stream live events as they happen.",
    "long-help": "Shows a real-time feed of internal events. Filter with include <pattern> or\nexclude <pattern> to focus on what matters. Patterns match event type names.",
    "mode": "read-only",
    "wire-method": "ze-event:monitor",
    "task-support": "required",
    "usage": "monitor event",
    "grammar": [
      {
        "text": "monitor",
        "kind": "keyword"
      },
      {
        "text": "event",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "monitor interface rate",
    "description": "Stream per-second traffic rates for your interfaces.",
    "long-help": "Shows rx/tx bytes and packets per second, updating\nevery second. Optionally pass an interface name to watch just one link.",
    "mode": "read-only",
    "wire-method": "ze-monitor:interface-rate",
    "task-support": "required",
    "usage": "monitor interface rate",
    "grammar": [
      {
        "text": "monitor",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "rate",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "monitor ping",
    "description": "Continuous ping with live loss and RTT statistics.",
    "long-help": "Pings <target> until you stop it. Adjust interval and timeout as needed. Shows\nrunning min/avg/max RTT and packet loss.",
    "mode": "read-only",
    "wire-method": "ze-monitor:ping",
    "task-support": "required",
    "usage": "monitor ping",
    "grammar": [
      {
        "text": "monitor",
        "kind": "keyword"
      },
      {
        "text": "ping",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "target"
    ]
  },
  {
    "path": "monitor system netlink",
    "description": "Watch kernel networking changes in real time.",
    "long-help": "Streams netlink events: route adds and deletes, link\nstate changes, address assignments. Filter with route, link, address, or\nall.",
    "mode": "read-only",
    "wire-method": "ze-monitor:system-netlink",
    "task-support": "required",
    "usage": "monitor system netlink",
    "grammar": [
      {
        "text": "monitor",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "netlink",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "monitor traceroute",
    "description": "Live mtr-style traceroute that updates continuously.",
    "long-help": "Shows each hop with running RTT statistics. Keeps probing so you can watch\npath changes and latency shifts over time.",
    "mode": "read-only",
    "wire-method": "ze-monitor:traceroute",
    "task-support": "required",
    "usage": "monitor traceroute",
    "grammar": [
      {
        "text": "monitor",
        "kind": "keyword"
      },
      {
        "text": "traceroute",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "addr"
    ]
  },
  {
    "path": "monitor traffic stat",
    "description": "Start streaming traffic monitor (per-second snapshots).",
    "long-help": "Without arguments, shows all interfaces. With\n'name <interface>', filters to one interface.",
    "mode": "read-only",
    "wire-method": "ze-monitor:traffic-stat",
    "args": [
      {
        "name": "name",
        "type": "string"
      }
    ],
    "usage": "monitor traffic stat [name <name>]",
    "grammar": [
      {
        "text": "monitor",
        "kind": "keyword"
      },
      {
        "text": "traffic",
        "kind": "keyword"
      },
      {
        "text": "stat",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "monitor vpn ipsec",
    "description": "Watch IPsec SA events as they happen.",
    "long-help": "Streams sa-up, sa-down, child-up, child-down, and\nchild-rekey events. Use it to debug a tunnel flap or a rekey problem.",
    "mode": "read-only",
    "wire-method": "ze-monitor:vpn-ipsec",
    "task-support": "required",
    "usage": "monitor vpn ipsec",
    "grammar": [
      {
        "text": "monitor",
        "kind": "keyword"
      },
      {
        "text": "vpn",
        "kind": "keyword"
      },
      {
        "text": "ipsec",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "plugin ack",
    "description": "Choose sync or async event delivery.",
    "long-help": "sync: Ze waits for your plugin to acknowledge each event before sending the\nnext one. Safer but slower. async: events fire without waiting, giving higher\nthroughput at the cost of backpressure control.",
    "mode": "read-only",
    "wire-method": "ze-bgp:plugin-ack",
    "usage": "plugin ack",
    "grammar": [
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "ack",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "plugin command complete",
    "description": "List the completion candidates for a partial plugin command.",
    "long-help": "The candidates come from the plugin registry only, and a command\nmarked hidden is left out. A built-in command is never offered here.",
    "mode": "read-only",
    "wire-method": "ze-plugin:command-complete",
    "usage": "plugin command complete",
    "grammar": [
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "command",
        "kind": "keyword"
      },
      {
        "text": "complete",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "plugin command help",
    "description": "Show one plugin command's summary, explanation, arguments, and source plugin.",
    "long-help": "The name is looked up in the plugin registry only, so a built-in\ncommand is reported as unknown. The answer carries the summary, the long explanation, the\nargument form and the plugin that registered it.",
    "mode": "read-only",
    "wire-method": "ze-plugin:command-help",
    "usage": "plugin command help",
    "grammar": [
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "command",
        "kind": "keyword"
      },
      {
        "text": "help",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "plugin command list",
    "description": "List every command a plugin registered, with its summary.",
    "long-help": "Each row carries the command name and its summary, and nothing\nelse. Use plugin command help for the explanation, the argument form and the source plugin.",
    "mode": "read-only",
    "wire-method": "ze-plugin:command-list",
    "usage": "plugin command list",
    "grammar": [
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "command",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "plugin encoding",
    "description": "Choose json or text encoding for plugin events.",
    "long-help": "Controls how events are serialized in this session. JSON is structured and\nparseable; text is more compact.",
    "mode": "read-only",
    "wire-method": "ze-bgp:plugin-encoding",
    "usage": "plugin encoding",
    "grammar": [
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "encoding",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "plugin format",
    "description": "Choose how BGP message bytes appear in events.",
    "long-help": "hex and base64 are compact wire representations. parsed decodes attributes\ninto structured fields. full includes both wire bytes and parsed content.",
    "mode": "read-only",
    "wire-method": "ze-bgp:plugin-format",
    "usage": "plugin format",
    "grammar": [
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "format",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "plugin help",
    "description": "List the subcommands the plugin verb accepts.",
    "long-help": "The answer is the two words session and command. It is a constant of\nthe daemon, so it does not grow when a plugin registers a command.",
    "mode": "read-only",
    "wire-method": "ze-plugin:help",
    "usage": "plugin help",
    "grammar": [
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "help",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "plugin session bye",
    "description": "Tell the daemon this session is disconnecting.",
    "long-help": "The daemon answers goodbye. It holds no per-client state today, so\nthe command frees nothing and is a courtesy.",
    "mode": "read-only",
    "wire-method": "ze-plugin:session-bye",
    "usage": "plugin session bye",
    "grammar": [
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "session",
        "kind": "keyword"
      },
      {
        "text": "bye",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "plugin session ping",
    "description": "Answer a health check with the daemon process id.",
    "long-help": "The answer carries the process id of the daemon process, not of the\nplugin that asked. The command takes no argument and never fails.",
    "mode": "read-only",
    "wire-method": "ze-plugin:session-ping",
    "usage": "plugin session ping",
    "grammar": [
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "session",
        "kind": "keyword"
      },
      {
        "text": "ping",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "plugin session ready",
    "description": "Signal that this plugin process finished its initialization.",
    "long-help": "The reactor counts one signal for each configured plugin process,\nand it stops waiting when the count reaches that total. A daemon that runs without a\nreactor accepts the command and acts on nothing.",
    "mode": "read-only",
    "wire-method": "ze-plugin:session-ready",
    "usage": "plugin session ready",
    "grammar": [
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "session",
        "kind": "keyword"
      },
      {
        "text": "ready",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request as112 healthcheck",
    "description": "Send one authoritative query and check the AS112 answer.",
    "long-help": "The query goes to an anycast service address, or to the\ngiven target. The exit code is 0 only when the expected AS112 answer comes\nback. Finding M4: the tool a healthcheck probe calls, since dig is not on the\ngokrazy appliance and 'ze resolve dns' cannot target a specific server.",
    "mode": "daemon",
    "wire-method": "ze-as112:health",
    "args": [
      {
        "name": "target",
        "type": "string"
      }
    ],
    "usage": "request as112 healthcheck [target <target>]",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "as112",
        "kind": "keyword"
      },
      {
        "text": "healthcheck",
        "kind": "keyword"
      },
      {
        "text": "target",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp adj-rib-in accept-routes",
    "description": "Install one pending route under the validation state given.",
    "mode": "daemon",
    "usage": "request bgp adj-rib-in accept-routes",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp adj-rib-in batch-validate",
    "description": "Apply up to 256 validation decisions in one call.",
    "mode": "daemon",
    "usage": "request bgp adj-rib-in batch-validate",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp adj-rib-in enable-validation",
    "description": "Turn the validation gate on, so each new route waits in the pending state.",
    "mode": "daemon",
    "usage": "request bgp adj-rib-in enable-validation",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp adj-rib-in reject-routes",
    "description": "Discard one pending route and do not install it.",
    "mode": "daemon",
    "usage": "request bgp adj-rib-in reject-routes",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp adj-rib-in replay",
    "description": "Replay the stored routes of every other peer to one target peer.",
    "mode": "daemon",
    "usage": "request bgp adj-rib-in replay",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp adj-rib-in revalidate",
    "description": "Answer the installed routes of one prefix, so a validator can validate them again.",
    "mode": "daemon",
    "usage": "request bgp adj-rib-in revalidate",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp rib fastpath",
    "description": "Enable/disable/report the zero-copy forward-handle fast path (rib-arch-6): <enable|disable|status>",
    "mode": "daemon",
    "usage": "request bgp rib fastpath",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp rib inject",
    "description": "Inject a synthetic route into the Adj-RIB-In.",
    "long-help": "Behaves as if the route was received from a peer. Use this for\ntesting policy filters or simulating route announcements.",
    "mode": "daemon",
    "wire-method": "ze-rib-api:inject",
    "task-support": "forbidden",
    "usage": "request bgp rib inject",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "rib",
        "kind": "keyword"
      },
      {
        "text": "inject",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp rib mark-stale",
    "description": "Mark peer routes at stale level",
    "mode": "daemon",
    "usage": "request bgp rib mark-stale",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp rib purge-stale",
    "description": "Purge stale routes for peer",
    "mode": "daemon",
    "usage": "request bgp rib purge-stale",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp rib release-routes",
    "description": "Release retained peer RIB",
    "mode": "daemon",
    "usage": "request bgp rib release-routes",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp rib retain-routes",
    "description": "Mark peer RIB for retention",
    "mode": "daemon",
    "usage": "request bgp rib retain-routes",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp rib withdraw",
    "description": "Withdraw a route from the Adj-RIB-In.",
    "long-help": "Removes a previously injected or received route from a peer's\nAdj-RIB-In, triggering best-path recomputation.",
    "mode": "daemon",
    "wire-method": "ze-rib-api:withdraw",
    "task-support": "forbidden",
    "usage": "request bgp rib withdraw",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "rib",
        "kind": "keyword"
      },
      {
        "text": "withdraw",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp rib withdraw-protocol",
    "description": "Withdraw all routes for a peer under a protocol",
    "mode": "daemon",
    "usage": "request bgp rib withdraw-protocol",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp rib withdraw-router",
    "description": "Withdraw all routes for a router under a protocol",
    "mode": "daemon",
    "usage": "request bgp rib withdraw-router",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp rpki validate",
    "description": "Validate a prefix against the ROA cache",
    "mode": "daemon",
    "usage": "request bgp rpki validate <prefix> <origin-asn>",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp watchdog announce",
    "description": "Announce routes in watchdog group",
    "mode": "daemon",
    "usage": "request bgp watchdog announce",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request bgp watchdog withdraw",
    "description": "Withdraw routes in watchdog group",
    "mode": "daemon",
    "usage": "request bgp watchdog withdraw",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request cache expire",
    "description": "Remove a cached message immediately.",
    "long-help": "The entry is removed at once rather than when its lifetime ends. The ID leaf\naccepts a comma-separated list, and each ID is acted on in turn with a failure\nreported per ID.",
    "mode": "daemon",
    "wire-method": "ze-bgp:cache-expire",
    "args": [
      {
        "name": "id",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request cache expire <id>",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "cache",
        "kind": "keyword"
      },
      {
        "text": "expire",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request cache release",
    "description": "Ack without forwarding (cache consumer) or undo retain (API).",
    "long-help": "The meaning depends on the caller. A cache consumer acknowledges the message and\ndoes not forward it. An API caller undoes an earlier retain. The ID leaf\naccepts a comma-separated list, and each ID is acted on in turn.",
    "mode": "daemon",
    "wire-method": "ze-bgp:cache-release",
    "args": [
      {
        "name": "id",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request cache release <id>",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "cache",
        "kind": "keyword"
      },
      {
        "text": "release",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request cache retain",
    "description": "Prevent eviction of a cached message.",
    "long-help": "A retained entry is not evicted when it expires, so it stays listed until\n'release' undoes the retain or 'expire' removes it. The ID leaf accepts a\ncomma-separated list, and each ID is acted on in turn with a failure reported\nper ID.",
    "mode": "daemon",
    "wire-method": "ze-bgp:cache-retain",
    "args": [
      {
        "name": "id",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request cache retain <id>",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "cache",
        "kind": "keyword"
      },
      {
        "text": "retain",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request commit",
    "description": "Group route changes into named atomic commits.",
    "long-help": "Actions: start (begin a commit), end (finalize), eor (signal end of\nRIB), rollback (undo), show (inspect), withdraw (remove all routes\nin a commit), list (show all commits). Grammar: request commit <action>\n<name> [args].",
    "mode": "daemon",
    "wire-method": "ze-bgp:commit",
    "usage": "request commit",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "commit",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request config archive",
    "description": "Save a snapshot of the current running configuration.",
    "long-help": "Captures the config into the store for later rollback or comparison. Optional\nname labels the snapshot; defaults to a timestamp.",
    "mode": "daemon",
    "wire-method": "ze-config-archive:trigger",
    "usage": "request config archive",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "config",
        "kind": "keyword"
      },
      {
        "text": "archive",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request halt",
    "description": "Dump goroutine stacks to stderr and terminate immediately.",
    "long-help": "Ze writes every goroutine stack through the daemon logger at warning\nlevel, with a 1 MB buffer, and then stops. Use it where a daemon is stuck\nand the stacks are the evidence.",
    "mode": "daemon",
    "wire-method": "ze-system:daemon-quit",
    "usage": "request halt",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "halt",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request interface down",
    "description": "Shut down an interface.",
    "long-help": "Only the administrative state changes. A name bound to hardware by\na selector is refused when the selector resolves to no device, so the shutdown cannot reach\nanother port.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-down",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request interface <name> down",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "down",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request interface mac",
    "description": "Set the MAC address on an interface.",
    "long-help": "The address is written as xx:xx:xx:xx:xx:xx. Ze checks that form\nbefore it calls the backend, so a malformed address is refused with its own message.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-mac",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "address",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request interface <name> mac <address>",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "mac",
        "kind": "keyword"
      },
      {
        "text": "address",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request interface migrate",
    "description": "Move IP addresses between interfaces with minimal downtime.",
    "long-help": "Takes a source interface, a target interface, and the\naddress to move. Adds addresses to the target before removing them from the\nsource (make-before-break).",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-migrate",
    "usage": "request interface migrate from <source> to <destination> address <prefix> [create <dummy|veth|bridge>] [timeout <duration>]",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "migrate",
        "kind": "keyword"
      },
      {
        "text": "from",
        "kind": "keyword"
      },
      {
        "text": "source",
        "kind": "value"
      },
      {
        "text": "to",
        "kind": "keyword"
      },
      {
        "text": "destination",
        "kind": "value"
      },
      {
        "text": "address",
        "kind": "keyword"
      },
      {
        "text": "prefix",
        "kind": "value"
      },
      {
        "text": "create",
        "group": [
          {
            "text": "type",
            "values": [
              "dummy",
              "veth",
              "bridge"
            ],
            "kind": "value"
          }
        ],
        "kind": "group"
      },
      {
        "text": "timeout",
        "group": [
          {
            "text": "duration",
            "kind": "value"
          }
        ],
        "kind": "group"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "address",
      "create",
      "from",
      "timeout",
      "to"
    ]
  },
  {
    "path": "request interface mtu",
    "description": "Set the MTU on an interface.",
    "long-help": "The MTU is between 68 and 65535 bytes.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-mtu",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "bytes",
        "type": "uint",
        "mandatory": true
      }
    ],
    "usage": "request interface <name> mtu <bytes>",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "mtu",
        "kind": "keyword"
      },
      {
        "text": "bytes",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request interface up",
    "description": "Bring an interface up.",
    "long-help": "Only the administrative state changes. show interface reports the\noperational state, which a dummy, bridge or veth reports as unknown rather than up.",
    "mode": "daemon",
    "wire-method": "ze-iface:interface-up",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request interface <name> up",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "up",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request l2tp outgoing-call remote called",
    "description": "Place an LNS-side outgoing call (RFC 2661 S10.4).",
    "long-help": "Dials the named remote (which must have\noutgoing-calls enabled), sends OCRQ, and blocks until the call establishes or\nfails. On failure the cause and RFC 2661 Result Code are reported (auth reject,\ntie-breaker loss, peer CDN, or timeout).",
    "mode": "daemon",
    "wire-method": "ze-l2tp-api:outgoing-call",
    "args": [
      {
        "name": "remote",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "called",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request l2tp outgoing-call remote <remote> called <called>",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "outgoing-call",
        "kind": "keyword"
      },
      {
        "text": "remote",
        "kind": "keyword"
      },
      {
        "text": "remote",
        "kind": "value"
      },
      {
        "text": "called",
        "kind": "keyword"
      },
      {
        "text": "called",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request log level",
    "description": "Change a subsystem's log level without restarting.",
    "long-help": "Takes effect immediately. Set to debug when troubleshooting, then back to info\nwhen you are done.",
    "mode": "daemon",
    "wire-method": "ze-bgp:log-set",
    "args": [
      {
        "name": "logger",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "target",
        "type": "enum",
        "values": [
          "disabled",
          "debug",
          "info",
          "warn",
          "err"
        ],
        "mandatory": true
      }
    ],
    "usage": "request log level <logger> <disabled|debug|info|warn|err>",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "log",
        "kind": "keyword"
      },
      {
        "text": "level",
        "kind": "keyword"
      },
      {
        "text": "logger",
        "kind": "value"
      },
      {
        "text": "target",
        "values": [
          "disabled",
          "debug",
          "info",
          "warn",
          "err"
        ],
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request mrt dump-rib",
    "description": "Write the current RIB to the MRT table dump file.",
    "mode": "daemon",
    "usage": "request mrt dump-rib",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request ospf graceful-restart",
    "description": "Trigger a planned OSPFv2 graceful restart (RFC 3623 section 2.1).",
    "long-help": "The engine originates one Grace-LSA per interface, persists the non-volatile\nrestart fact, and suppresses route churn so the FIB is retained across the\nensuing control-plane restart. Refused when graceful-restart is not\nconfigured.",
    "mode": "daemon",
    "wire-method": "ze-ospf:graceful-restart-prepare",
    "usage": "request ospf graceful-restart",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "graceful-restart",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request peer borr",
    "description": "Start an Enhanced Route Refresh cycle (RFC 7313).",
    "long-help": "Tells the peer to mark existing routes as stale. After re-sending,\nsend EORR to purge anything not refreshed.",
    "mode": "daemon",
    "wire-method": "ze-bgp:peer-borr",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request peer <selector> borr",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "borr",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request peer clear soft",
    "description": "Soft-clear a peer without dropping the session.",
    "long-help": "Sends ROUTE-REFRESH for every negotiated AFI/SAFI, causing the peer\nto re-send all routes. No session bounce, no traffic impact.",
    "mode": "daemon",
    "wire-method": "ze-bgp:peer-clear-soft",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request peer <selector> clear soft",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "clear",
        "kind": "keyword"
      },
      {
        "text": "soft",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request peer eorr",
    "description": "Finish an Enhanced Route Refresh cycle (RFC 7313).",
    "long-help": "The peer purges any routes not re-advertised since the matching\nBORR. Only send this after the peer has finished re-advertising.",
    "mode": "daemon",
    "wire-method": "ze-bgp:peer-eorr",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request peer <selector> eorr",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "eorr",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request peer flush",
    "description": "Wait until all queued updates for a peer are sent.",
    "long-help": "The command returns once the forward pool has drained, so a test asserts on what\nthe peer received without a fixed sleep. A selector of '*' flushes every peer.\nThe wait is bounded at 30 seconds.",
    "mode": "daemon",
    "wire-method": "ze-bgp:peer-flush",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request peer <selector> flush",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "flush",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request peer pause",
    "description": "Pause reading from a peer's TCP socket.",
    "long-help": "Ze stops reading the peer's socket and the session stays up, so nothing is\nwithdrawn. The selector resolves to one peer and a wildcard is refused, because\nflow control acts on one read loop. 'request peer <selector> resume' restarts\nit.",
    "mode": "daemon",
    "wire-method": "ze-bgp:peer-pause",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request peer <selector> pause",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "pause",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request peer plugin session ready",
    "description": "Signal that per-peer plugin setup is complete.",
    "long-help": "The daemon closes this process's share of the peer's End-of-RIB barrier, so the\npeer stops waiting for routes from this process. The signal is keyed on the\nsending process, so one process does not release another. A peer of '*', and an\nempty peer, are both ignored.",
    "mode": "daemon",
    "wire-method": "ze-plugin:session-peer-ready",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request peer <selector> plugin session ready",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "session",
        "kind": "keyword"
      },
      {
        "text": "ready",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request peer refresh",
    "description": "Ask a peer to re-send all routes (RFC 2918).",
    "long-help": "Sends a ROUTE-REFRESH message for the specified AFI/SAFI. The\npeer will re-advertise its entire Adj-RIB-Out.",
    "mode": "daemon",
    "wire-method": "ze-bgp:peer-refresh",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request peer <selector> refresh",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "refresh",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request peer resume",
    "description": "Resume reading from a previously paused peer.",
    "long-help": "The read loop restarts after a flow-control pause. The selector resolves to one\npeer and a wildcard is refused, for the reason pause states. Nothing else about\nthe session changes.",
    "mode": "daemon",
    "wire-method": "ze-bgp:peer-resume",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "request peer <selector> resume",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "resume",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request peer teardown",
    "description": "Tear down a peer session.",
    "long-help": "The subcode is the NOTIFICATION subcode for error code 6 and it takes 0 to 255.\nZe sends an RFC 8203 shutdown communication message with subcode 2,\nadministrative shutdown, and with subcode 4, administrative reset, and with no\nother subcode. The message follows the subcode on the command line, and the\nanswer echoes the truncated text that went on the wire.",
    "mode": "daemon",
    "wire-method": "ze-bgp:peer-teardown",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "cease-subcode",
        "type": "uint",
        "mandatory": true
      }
    ],
    "usage": "request peer <selector> teardown <cease-subcode>",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "teardown",
        "kind": "keyword"
      },
      {
        "text": "cease-subcode",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request quiesce",
    "description": "Block until every subsystem has drained pending async work, then reply.",
    "long-help": "It is a test and operator barrier that replaces a fixed sleep.",
    "mode": "daemon",
    "wire-method": "ze-system:quiesce",
    "usage": "request quiesce",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "quiesce",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request reboot",
    "description": "Gracefully shutdown then reboot the system.",
    "long-help": "Ze writes the accepted answer first, then runs the reboot. The answer message\nis 'reboot initiated'. A daemon with no reboot function configured fails with\n'reboot not available'.",
    "mode": "daemon",
    "wire-method": "ze-system:daemon-reboot",
    "usage": "request reboot",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "reboot",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request reload",
    "description": "Reload the configuration without restarting.",
    "long-help": "Ze reads the config from disk, verifies it with every plugin that asked for\nthe config roots, and then applies it to each. Every plugin verifies before\nany plugin applies. A failure at any step answers 'reload failed:\n<error>'.",
    "mode": "daemon",
    "wire-method": "ze-system:daemon-reload",
    "usage": "request reload",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "reload",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request shutdown",
    "description": "Gracefully shutdown: drain connections, close peers, exit.",
    "long-help": "Ze writes the accepted answer first and stops after, so teardown cannot close\nthe requesting connection under its own reply. The answer message is 'shutdown\ninitiated'. A daemon with no reactor uses the same signal-based teardown that\nSIGTERM triggers.",
    "mode": "daemon",
    "wire-method": "ze-system:daemon-shutdown",
    "usage": "request shutdown",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "shutdown",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request subscribe",
    "description": "Start receiving events of one or more types.",
    "long-help": "Events are delivered asynchronously to your plugin session until\nyou unsubscribe. Use 'show event list' to see available event types.",
    "mode": "daemon",
    "wire-method": "ze-bgp:subscribe",
    "task-support": "required",
    "usage": "request subscribe",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "subscribe",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "request unsubscribe",
    "description": "Stop receiving events you previously subscribed to.",
    "long-help": "Removes the subscription for the specified event type from your\ncurrent plugin session.",
    "mode": "daemon",
    "wire-method": "ze-bgp:unsubscribe",
    "usage": "request unsubscribe",
    "grammar": [
      {
        "text": "request",
        "kind": "keyword"
      },
      {
        "text": "unsubscribe",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "resolve cymru asn-name",
    "description": "Find out who owns an AS number.",
    "long-help": "Queries Team Cymru DNS to return the organization name for the ASN.",
    "mode": "read-only",
    "wire-method": "ze-resolve:cymru-asn-name",
    "args": [
      {
        "name": "asn",
        "type": "union",
        "mandatory": true
      }
    ],
    "usage": "resolve cymru asn-name <asn>",
    "grammar": [
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "cymru",
        "kind": "keyword"
      },
      {
        "text": "asn-name",
        "kind": "keyword"
      },
      {
        "text": "asn",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "resolve dns a",
    "description": "Look up IPv4 addresses (A records) for a hostname.",
    "long-help": "The answer is the list of IPv4 addresses. A valid cache entry\nanswers without a query, and a fresh answer is cached for the TTL the server gave.",
    "mode": "read-only",
    "wire-method": "ze-resolve:dns-a",
    "args": [
      {
        "name": "hostname",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "resolve dns a <hostname>",
    "grammar": [
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "dns",
        "kind": "keyword"
      },
      {
        "text": "a",
        "kind": "keyword"
      },
      {
        "text": "hostname",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "resolve dns aaaa",
    "description": "Look up IPv6 addresses (AAAA records) for a hostname.",
    "long-help": "The answer is the list of IPv6 addresses. A valid cache entry\nanswers without a query, and a fresh answer is cached for the TTL the server gave.",
    "mode": "read-only",
    "wire-method": "ze-resolve:dns-aaaa",
    "args": [
      {
        "name": "hostname",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "resolve dns aaaa <hostname>",
    "grammar": [
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "dns",
        "kind": "keyword"
      },
      {
        "text": "aaaa",
        "kind": "keyword"
      },
      {
        "text": "hostname",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "resolve dns ptr",
    "description": "Reverse-lookup an IP address to its hostname (PTR).",
    "long-help": "The address is turned into its in-addr.arpa or ip6.arpa name before\nthe query. The cache holds the answer under that name, so show dns cache record takes it in\nthat form.",
    "mode": "read-only",
    "wire-method": "ze-resolve:dns-ptr",
    "args": [
      {
        "name": "ip-address",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "resolve dns ptr <ip-address>",
    "grammar": [
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "dns",
        "kind": "keyword"
      },
      {
        "text": "ptr",
        "kind": "keyword"
      },
      {
        "text": "ip-address",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "resolve dns txt",
    "description": "Look up TXT records for a hostname.",
    "long-help": "Returns all TXT strings.",
    "mode": "read-only",
    "wire-method": "ze-resolve:dns-txt",
    "args": [
      {
        "name": "hostname",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "resolve dns txt <hostname>",
    "grammar": [
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "dns",
        "kind": "keyword"
      },
      {
        "text": "txt",
        "kind": "keyword"
      },
      {
        "text": "hostname",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "resolve irr expand",
    "description": "Expand an AS-SET into its member AS numbers.",
    "long-help": "Recursively resolves nested AS-SET objects via WHOIS into a flat list. Useful\nfor building prefix filters from IRR data.",
    "mode": "read-only",
    "wire-method": "ze-resolve:irr-expand",
    "usage": "resolve irr expand",
    "grammar": [
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "expand",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "resolve irr prefix",
    "description": "Get all prefixes announced by an AS-SET's members.",
    "long-help": "Expands the AS-SET, then returns every route/route6 object for each member\nASN. Use this to build or verify prefix filters.",
    "mode": "read-only",
    "wire-method": "ze-resolve:irr-prefix",
    "usage": "resolve irr prefix",
    "grammar": [
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "prefix",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "resolve peeringdb as-set",
    "description": "Find the IRR AS-SET registered for an ASN in PeeringDB.",
    "long-help": "Feed the result into 'resolve irr expand' to get the full member list.",
    "mode": "read-only",
    "wire-method": "ze-resolve:peeringdb-as-set",
    "args": [
      {
        "name": "asn",
        "type": "union",
        "mandatory": true
      }
    ],
    "usage": "resolve peeringdb as-set <asn>",
    "grammar": [
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "peeringdb",
        "kind": "keyword"
      },
      {
        "text": "as-set",
        "kind": "keyword"
      },
      {
        "text": "asn",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "resolve peeringdb max-prefix",
    "description": "Get max-prefix limits for an ASN from PeeringDB.",
    "long-help": "Returns IPv4 and IPv6 prefix limits. Apply via the config editor.",
    "mode": "read-only",
    "wire-method": "ze-resolve:peeringdb-max-prefix",
    "args": [
      {
        "name": "asn",
        "type": "union",
        "mandatory": true
      }
    ],
    "usage": "resolve peeringdb max-prefix <asn>",
    "grammar": [
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "peeringdb",
        "kind": "keyword"
      },
      {
        "text": "max-prefix",
        "kind": "keyword"
      },
      {
        "text": "asn",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "resolve ping",
    "description": "Ping from the router with optional source binding.",
    "long-help": "The target takes a hostname or an address, and it accepts a zone suffix such as\nfe80::1%eth0. The source binds a local address and takes the same zone suffix.\nThe count runs from 1 to 100 and the payload size from 1 to 65507 bytes. 'show\nping' declares no source leaf and puts no upper bound on its count.",
    "mode": "read-only",
    "wire-method": "ze-resolve:ping",
    "args": [
      {
        "name": "target",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "source",
        "type": "string"
      },
      {
        "name": "count",
        "type": "uint"
      },
      {
        "name": "size",
        "type": "uint"
      }
    ],
    "usage": "resolve ping <target> [source <source>] [count <count>] [size <size>]",
    "grammar": [
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "ping",
        "kind": "keyword"
      },
      {
        "text": "target",
        "kind": "value"
      },
      {
        "text": "source",
        "kind": "option"
      },
      {
        "text": "count",
        "kind": "option"
      },
      {
        "text": "size",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "resolve traceroute",
    "description": "Traceroute from the router with optional source binding.",
    "long-help": "The options are source, max-hops, timeout and probes, each one a\nkeyword and a value. max-hops is 1 to 64 and defaults to 30, probes is 1 to 10 and defaults\nto 3, and timeout is 1s to 30s and defaults to 3s. The source also selects the address\nfamily: a target name is resolved in the family of the source, and a target with no\naddress in that family is refused.",
    "mode": "read-only",
    "wire-method": "ze-resolve:traceroute",
    "args": [
      {
        "name": "target",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "source",
        "type": "string"
      },
      {
        "name": "max-hops",
        "type": "uint"
      },
      {
        "name": "timeout",
        "type": "string"
      },
      {
        "name": "probes",
        "type": "uint"
      }
    ],
    "usage": "resolve traceroute <target> [source <source>] [max-hops <max-hops>] [timeout <timeout>] [probes <probes>]",
    "grammar": [
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "traceroute",
        "kind": "keyword"
      },
      {
        "text": "target",
        "kind": "value"
      },
      {
        "text": "source",
        "kind": "option"
      },
      {
        "text": "max-hops",
        "kind": "option"
      },
      {
        "text": "timeout",
        "kind": "option"
      },
      {
        "text": "probes",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "send bgp blackhole",
    "description": "Originate a blackhole route on demand.",
    "long-help": "This command attaches the BLACKHOLE community itself, so\nRFC 7999 Section 3.1 narrows the fan-out to the sessions that recorded the\nagreement.",
    "mode": "daemon",
    "wire-method": "ze-bgp:announce-blackhole",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "prefix",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "send bgp <selector> blackhole <prefix> [tag <key> <value>] [for <duration>]",
    "grammar": [
      {
        "text": "send",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "blackhole",
        "kind": "keyword"
      },
      {
        "text": "prefix",
        "kind": "value"
      },
      {
        "text": "tag",
        "group": [
          {
            "text": "key",
            "kind": "value"
          },
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group"
      },
      {
        "text": "for",
        "group": [
          {
            "text": "duration",
            "kind": "value"
          }
        ],
        "kind": "group"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "for",
      "tag"
    ]
  },
  {
    "path": "send bgp cached",
    "description": "Send a cached UPDATE to the peers the selector matches.",
    "long-help": "The ID leaf accepts a comma-separated list, and the selector applies to each\nID in that list. The command sends a message the cache already holds, so it names what\ngoes on the wire and not the act of sending it.",
    "mode": "daemon",
    "wire-method": "ze-bgp:cache-forward",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "id",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "send bgp <selector> cached <id>",
    "grammar": [
      {
        "text": "send",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "cached",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "send bgp flowspec",
    "description": "Originate a FlowSpec rule on demand (RFC 8955).",
    "long-help": "The match components come from ze-flowspec-cmd, which\naugments this container. They are the FlowSpec codec vocabulary, and the plugin\nthat owns it declares them, so this module never restates another plugin's\nwords. An augmented container carries no declaration order, so the components\nsort by name and land in front of the action and the options declared here.",
    "mode": "daemon",
    "wire-method": "ze-bgp:announce-flowspec",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "send bgp <selector> flowspec [destination-ipv4 <prefix> ...] [destination-ipv6 <prefix> ...] [destination-port <value> ...] [dscp <value> ...] [flow-label <value> ...] [fragment <value> ...] [icmp-code <value> ...] [icmp-type <value> ...] [next-header <value> ...] [packet-length <value> ...] [port <value> ...] [protocol <value> ...] [rd <value>] [source-ipv4 <prefix> ...] [source-ipv6 <prefix> ...] [source-port <value> ...] [tcp-flags <value> ...] (community <value>|rate-limit <bytes-per-second>|discard) [tag <key> <value>] [for <duration>]",
    "grammar": [
      {
        "text": "send",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "flowspec",
        "kind": "keyword"
      },
      {
        "text": "destination-ipv4",
        "group": [
          {
            "text": "prefix",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "destination-ipv6",
        "group": [
          {
            "text": "prefix",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "destination-port",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "dscp",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "flow-label",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "fragment",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "icmp-code",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "icmp-type",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "next-header",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "packet-length",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "port",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "protocol",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "rd",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group"
      },
      {
        "text": "source-ipv4",
        "group": [
          {
            "text": "prefix",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "source-ipv6",
        "group": [
          {
            "text": "prefix",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "source-port",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "tcp-flags",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "action",
        "group": [
          {
            "text": "community",
            "group": [
              {
                "text": "value",
                "kind": "value"
              }
            ],
            "kind": "group"
          },
          {
            "text": "rate-limit",
            "group": [
              {
                "text": "bytes-per-second",
                "kind": "value"
              }
            ],
            "kind": "group"
          },
          {
            "text": "discard",
            "kind": "group"
          }
        ],
        "kind": "group-one-of"
      },
      {
        "text": "tag",
        "group": [
          {
            "text": "key",
            "kind": "value"
          },
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group"
      },
      {
        "text": "for",
        "group": [
          {
            "text": "duration",
            "kind": "value"
          }
        ],
        "kind": "group"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "action",
      "destination-ipv4",
      "destination-ipv6",
      "destination-port",
      "dscp",
      "flow-label",
      "for",
      "fragment",
      "icmp-code",
      "icmp-type",
      "next-header",
      "packet-length",
      "port",
      "protocol",
      "rd",
      "source-ipv4",
      "source-ipv6",
      "source-port",
      "tag",
      "tcp-flags"
    ]
  },
  {
    "path": "send bgp raw",
    "description": "Send raw bytes into a peer's TCP stream (dangerous).",
    "long-help": "Injects arbitrary bytes with no BGP framing and no validation. It is for\nconformance testing and fuzzing only, and it will break the session if it is used\ncarelessly. With a type keyword ze writes the marker and the header, and the data carries\nthe message body alone. Without a type keyword the data carries the whole packet, marker\nand header included.",
    "mode": "daemon",
    "wire-method": "ze-bgp:peer-raw",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "encoding",
        "type": "enum",
        "values": [
          "hex",
          "b64"
        ],
        "mandatory": true
      },
      {
        "name": "data",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "type",
        "type": "enum",
        "values": [
          "open",
          "update",
          "notification",
          "keepalive",
          "route-refresh"
        ]
      }
    ],
    "usage": "send bgp <selector> raw <hex|b64> <data> [type <open|update|notification|keepalive|route-refresh>]",
    "grammar": [
      {
        "text": "send",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "raw",
        "kind": "keyword"
      },
      {
        "text": "encoding",
        "values": [
          "hex",
          "b64"
        ],
        "kind": "value"
      },
      {
        "text": "data",
        "kind": "value"
      },
      {
        "text": "type",
        "values": [
          "open",
          "update",
          "notification",
          "keepalive",
          "route-refresh"
        ],
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "send bgp unicast",
    "description": "Originate a unicast route on demand.",
    "long-help": "The address family follows the prefix, so it is ipv4 unicast or ipv6\nunicast. The ORIGIN is IGP, and the next hop is this router unless next-hop names one.",
    "mode": "daemon",
    "wire-method": "ze-bgp:announce-unicast",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "prefix",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "send bgp <selector> unicast <prefix> [next-hop <address>] [community <value> ...] [tag <key> <value>] [for <duration>]",
    "grammar": [
      {
        "text": "send",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "unicast",
        "kind": "keyword"
      },
      {
        "text": "prefix",
        "kind": "value"
      },
      {
        "text": "next-hop",
        "group": [
          {
            "text": "address",
            "kind": "value"
          }
        ],
        "kind": "group"
      },
      {
        "text": "community",
        "group": [
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      },
      {
        "text": "tag",
        "group": [
          {
            "text": "key",
            "kind": "value"
          },
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group"
      },
      {
        "text": "for",
        "group": [
          {
            "text": "duration",
            "kind": "value"
          }
        ],
        "kind": "group"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "community",
      "for",
      "next-hop",
      "tag"
    ]
  },
  {
    "path": "send bgp update",
    "description": "Send a pre-built BGP UPDATE to a peer.",
    "long-help": "The encoding word says how the rest of the line is read. text is the\nroute syntax docs/architecture/api/update-syntax.md states, hex and b64 are wire octets, and\ncursor replays a stored position. 'show bgp encode' builds a hex payload. The tokens after\nthe encoding word are that encoding's own grammar, and this model states the encoding\nalone.",
    "mode": "daemon",
    "wire-method": "ze-bgp:peer-update",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "encoding",
        "type": "enum",
        "values": [
          "text",
          "hex",
          "b64",
          "cursor"
        ],
        "mandatory": true
      }
    ],
    "usage": "send bgp <selector> update <text|hex|b64|cursor>",
    "grammar": [
      {
        "text": "send",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "encoding",
        "values": [
          "text",
          "hex",
          "b64",
          "cursor"
        ],
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "send bgp withdraw all",
    "description": "Withdraw every on-demand announcement.",
    "long-help": "The selector typed after bgp decides the scope: name a\npeer to withdraw only the announcements made to it, or * for every one.",
    "mode": "daemon",
    "wire-method": "ze-bgp:withdraw-all",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "send bgp <selector> withdraw all",
    "grammar": [
      {
        "text": "send",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "withdraw",
        "kind": "keyword"
      },
      {
        "text": "all",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "send bgp withdraw id",
    "description": "Withdraw one announcement by the id that show announcements reports.",
    "long-help": "Only a tagged announcement carries an id. The withdraw acts\nonly when the selector typed after bgp is the one the announcement was made with, compared as\ntext.",
    "mode": "daemon",
    "wire-method": "ze-bgp:withdraw-id",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "id",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "send bgp <selector> withdraw id <id>",
    "grammar": [
      {
        "text": "send",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "withdraw",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "send bgp withdraw tag",
    "description": "Withdraw the announcements carrying a tag.",
    "long-help": "A key of * withdraws every tagged announcement. An absent\nvalue withdraws every value of the key.",
    "mode": "daemon",
    "wire-method": "ze-bgp:withdraw-tag",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "key",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "value",
        "type": "string"
      }
    ],
    "usage": "send bgp <selector> withdraw tag <key> [value <value>]",
    "grammar": [
      {
        "text": "send",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "withdraw",
        "kind": "keyword"
      },
      {
        "text": "tag",
        "kind": "keyword"
      },
      {
        "text": "key",
        "kind": "value"
      },
      {
        "text": "value",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "set debug active name",
    "description": "Load a named debug profile and apply it to the running daemon.",
    "long-help": "The named profile becomes the live state and the default slot is NOT overwritten, so a restart returns the daemon to the default profile rather than to this one.",
    "mode": "offline"
  },
  {
    "path": "set debug module",
    "description": "Enable debug output for one subsystem.",
    "long-help": "A level, a flag or a scope can be set in the same command, and each one narrows what the subsystem writes.",
    "mode": "offline"
  },
  {
    "path": "set debug profile name",
    "description": "Save the current debug state as a named profile.",
    "long-help": "It copies what the daemon is writing NOW into a named slot. The default slot is left as it is, so saving a profile does not change what the running daemon logs.",
    "mode": "offline"
  },
  {
    "path": "set debug timeout",
    "description": "Set how long debug output stays enabled.",
    "long-help": "The duration is written as 30m, 1h or 90s, seconds are rounded up to minutes, and the longest accepted value is 24h. Zero disables the timer.",
    "mode": "offline"
  },
  {
    "path": "set sysctl",
    "description": "Set a transient sysctl value",
    "mode": "daemon",
    "usage": "set sysctl <key> <value>",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "set system file-descriptors",
    "description": "Raise the file descriptor limit for the daemon process.",
    "long-help": "Pass a number or 'max' to go to the hard limit. Takes effect immediately.\nCheck current limits with 'show system file-descriptors'.",
    "mode": "daemon",
    "wire-method": "ze-set:system-file-descriptors",
    "args": [
      {
        "name": "limit",
        "type": "union",
        "values": [
          "max"
        ]
      }
    ],
    "usage": "set system file-descriptors [limit <limit|max>]",
    "grammar": [
      {
        "text": "set",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "file-descriptors",
        "kind": "keyword"
      },
      {
        "text": "limit",
        "values": [
          "limit",
          "max"
        ],
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show aaa accounting",
    "description": "Show AAA accounting counters and any dropped records.",
    "long-help": "Tells you whether TACACS+ accounting is working or if records are being lost\ndue to server unreachability.",
    "mode": "read-only",
    "wire-method": "ze-show:aaa-accounting",
    "usage": "show aaa accounting",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "aaa",
        "kind": "keyword"
      },
      {
        "text": "accounting",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show announcements",
    "description": "List active on-demand announcements.",
    "long-help": "Each row carries the id, the tag, the family, the peer selector, the\nsource and the creation time. An expiry time is present only when the announcement was made\nwith for.",
    "mode": "read-only",
    "wire-method": "ze-bgp:show-announcements",
    "args": [
      {
        "name": "tag",
        "type": "string"
      },
      {
        "name": "selector",
        "type": "string"
      },
      {
        "name": "family",
        "type": "string"
      }
    ],
    "usage": "show announcements [tag <tag>] [selector <selector>] [family <family>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "announcements",
        "kind": "keyword"
      },
      {
        "text": "tag",
        "kind": "option"
      },
      {
        "text": "selector",
        "kind": "option"
      },
      {
        "text": "family",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show anomaly detect",
    "description": "Show the recent behavioral anomaly incidents.",
    "long-help": "Each incident carries the source entity, the cohort, the fired\nfeatures with their deviation z-scores, the combined score, and the severity.\nThe detector only reports. The anomaly shape responder (Spec 2b) acts on the\nreport.",
    "mode": "read-only",
    "wire-method": "ze-show:anomaly",
    "usage": "show anomaly detect",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "anomaly",
        "kind": "keyword"
      },
      {
        "text": "detect",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show anomaly observe",
    "description": "Show the behavioral anomaly incident lifecycle, newest first.",
    "long-help": "Per incident: the source entity, cohort, fired features with their\ndeviation z-scores, combined score, severity, start time, end time, and whether\nit is still active. Finalized incidents stay in the list, so this shows a\nfinished incident's duration, which `show anomaly detect` cannot.",
    "mode": "read-only",
    "wire-method": "ze-show:anomaly-observe",
    "usage": "show anomaly observe",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "anomaly",
        "kind": "keyword"
      },
      {
        "text": "observe",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show anomaly shape",
    "description": "Show the shadow-first anomaly responder status.",
    "long-help": "Returns the mode (shadow or armed), the action, and the kill-switch\nstate. It also returns the armed source entities with their live firewall\nactions.",
    "mode": "read-only",
    "wire-method": "ze-show:anomaly-shape",
    "usage": "show anomaly shape",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "anomaly",
        "kind": "keyword"
      },
      {
        "text": "shape",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show arp",
    "description": "Show the IPv4 ARP table (shortcut for 'show neighbor ipv4').",
    "long-help": "Lists IPv4 ARP entries with MAC address and state. ARP is\nIPv4-only. Use 'show neighbor' for both families or 'show neighbor ipv6' for\nthe IPv6 ND table.",
    "mode": "read-only",
    "wire-method": "ze-show:arp",
    "usage": "show arp",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "arp",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show as112",
    "description": "AS112 node status.",
    "long-help": "Enabled, address-family, hostname/facility/location, allow-from count,\nserved zone count, and the current SOA serial.",
    "mode": "read-only",
    "wire-method": "ze-show:as112",
    "usage": "show as112",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "as112",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show audit",
    "description": "Show who did what and when on this box.",
    "long-help": "Returns audit log entries with timestamps, actors, and actions.\nFilters (all optional, combinable): action <type>, actor <name>,\nsurface <name> (cli, web, api), since/until <RFC3339>, count <N>.\nActions include config-commit, login, peer-teardown, and more.",
    "mode": "read-only",
    "wire-method": "ze-show:audit",
    "args": [
      {
        "name": "action",
        "type": "string"
      },
      {
        "name": "actor",
        "type": "string"
      },
      {
        "name": "surface",
        "type": "string"
      },
      {
        "name": "since",
        "type": "string"
      },
      {
        "name": "until",
        "type": "string"
      },
      {
        "name": "count",
        "type": "uint"
      }
    ],
    "usage": "show audit [action <action>] [actor <actor>] [surface <surface>] [since <since>] [until <until>] [count <count>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "audit",
        "kind": "keyword"
      },
      {
        "text": "action",
        "kind": "option"
      },
      {
        "text": "actor",
        "kind": "option"
      },
      {
        "text": "surface",
        "kind": "option"
      },
      {
        "text": "since",
        "kind": "option"
      },
      {
        "text": "until",
        "kind": "option"
      },
      {
        "text": "count",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show bfd profile",
    "description": "Show BFD timer profiles with effective values.",
    "long-help": "Returns min-tx, min-rx, and detect-multiplier after\ninheritance. Use 'show bfd profile' for every profile or 'show bfd profile\nname <name>' for one profile.",
    "mode": "read-only",
    "wire-method": "ze-bfd-api:show-profile",
    "usage": "show bfd profile",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bfd",
        "kind": "keyword"
      },
      {
        "text": "profile",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "name"
    ]
  },
  {
    "path": "show bfd profile name",
    "description": "Show one BFD profile by name.",
    "long-help": "Give the profile name after the name keyword. The answer is one profile object, not a list. An unknown name fails with 'bfd: no profile named <name>'.",
    "mode": "read-only",
    "wire-method": "ze-bfd-api:show-profile",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show bfd profile name <name>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bfd",
        "kind": "keyword"
      },
      {
        "text": "profile",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show bfd session address",
    "description": "Show full detail for one BFD session.",
    "long-help": "Pass the peer address. Returns local/remote\ndiscriminators, negotiated timers, detection time, and packet counters.",
    "mode": "read-only",
    "wire-method": "ze-bfd-api:show-session",
    "args": [
      {
        "name": "address",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show bfd session address <address>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bfd",
        "kind": "keyword"
      },
      {
        "text": "session",
        "kind": "keyword"
      },
      {
        "text": "address",
        "kind": "keyword"
      },
      {
        "text": "address",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show bfd sessions",
    "description": "List all active BFD sessions.",
    "long-help": "One line per session: peer address, state, negotiated\ntx/rx intervals, and detect multiplier.",
    "mode": "read-only",
    "wire-method": "ze-bfd-api:show-sessions",
    "usage": "show bfd sessions",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bfd",
        "kind": "keyword"
      },
      {
        "text": "sessions",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show bgp",
    "description": "BGP peers, sessions, RIB, and protocol tools.",
    "long-help": "Typed with no subcommand, lists every peer with state, ASN,\nprefixes received, and uptime. Optionally scope by address family: ipv4, ipv6,\nor l2vpn.",
    "mode": "read-only",
    "wire-method": "ze-bgp:overview",
    "usage": "show bgp",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "address"
    ],
    "column-orders": [
      [
        "address",
        "name",
        "description",
        "remote-as",
        "peer-type",
        "state",
        "uptime",
        "state-changed",
        "last-error",
        "routes-received",
        "routes-accepted",
        "routes-sent",
        "updates-received",
        "updates-sent",
        "keepalives-received",
        "keepalives-sent",
        "eor-received",
        "eor-sent",
        "connections-dropped"
      ],
      [
        "router-id",
        "local-as",
        "uptime",
        "peers-configured",
        "peers-established",
        "family",
        "peers-in-family",
        "peers"
      ]
    ],
    "pipe-aliases": [
      {
        "name": "peers",
        "description": "The peer rows, without the aggregate fields",
        "expansion": "display peers"
      },
      {
        "name": "summary",
        "description": "The aggregate fields, without the peer rows",
        "expansion": "display router-id local-as uptime peers-configured peers-established"
      }
    ],
    "subcommands": [
      "decode",
      "encode",
      "health",
      "irr",
      "peer",
      "reject-asn",
      "rib",
      "update-delay"
    ]
  },
  {
    "path": "show bgp adj-rib-in",
    "description": "Show the routes held for each peer, with the wire bytes and validation state of each.",
    "mode": "read-only",
    "usage": "show bgp adj-rib-in",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      }
    ],
    "answer-shape": "map"
  },
  {
    "path": "show bgp adj-rib-in status",
    "description": "Show whether the Adj-RIB-In runs, its total route count, and the count for each peer.",
    "mode": "read-only",
    "usage": "show bgp adj-rib-in status",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc"
  },
  {
    "path": "show bgp decode",
    "description": "Decode a hex-encoded BGP message into readable JSON.",
    "long-help": "Paste a hex BGP UPDATE and get back parsed attributes,\nNLRI, and withdrawn prefixes. Use it to read pcap captures or to debug wire\nissues. The web UI carries the same tool under tools.",
    "mode": "read-only",
    "wire-method": "ze-show:bgp-decode",
    "usage": "show bgp decode",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "decode",
        "kind": "keyword"
      }
    ]
  },
  {
    "path": "show bgp encode",
    "description": "Turn a route announcement into wire-format hex.",
    "long-help": "Takes a route in API syntax and returns the BGP UPDATE\nas a hex string. Use it to build a test payload, to feed ze-test, or to verify\nthat an announcement encodes correctly.",
    "mode": "read-only",
    "wire-method": "ze-show:bgp-encode",
    "usage": "show bgp encode",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "encode",
        "kind": "keyword"
      }
    ]
  },
  {
    "path": "show bgp health",
    "description": "Quick health check for all your BGP peers.",
    "long-help": "Lists every peer with address, state, ASN, and uptime. Reports how\nmany are not Established. Much faster than 'show bgp peer *' when\nyou just need a status overview.",
    "mode": "read-only",
    "wire-method": "ze-show:bgp-health",
    "usage": "show bgp health",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "health",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "peer"
    ],
    "column-orders": [
      [
        "peer",
        "state",
        "as",
        "uptime"
      ]
    ]
  },
  {
    "path": "show bgp healthcheck",
    "description": "Show healthcheck probe status",
    "mode": "read-only",
    "usage": "show bgp healthcheck",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      }
    ],
    "answer-shape": "map"
  },
  {
    "path": "show bgp irr",
    "description": "Show IRR filter status per ASN.",
    "long-help": "Lists each enrolled ASN with its resolved AS-SET, prefix counts,\nlast refresh time, and error status. Use this to confirm that IRR\nprefix-lists are loaded and current.",
    "mode": "read-only",
    "wire-method": "ze-show:irr-status",
    "usage": "show bgp irr",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "asn",
        "as-set",
        "status",
        "error",
        "ipv4-count",
        "ipv6-count",
        "last-refresh",
        "peers"
      ],
      [
        "server",
        "last-refresh",
        "next-refresh",
        "entries"
      ]
    ],
    "subcommands": [
      "check",
      "prefix"
    ]
  },
  {
    "path": "show bgp irr check",
    "description": "Check if a prefix is accepted by the IRR filter.",
    "long-help": "Reports whether the\nprefix would be accepted or rejected, and which entry matches.",
    "mode": "read-only",
    "wire-method": "ze-show:irr-check",
    "args": [
      {
        "name": "peer",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "prefix",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show bgp irr check <peer> <prefix>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "check",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "value"
      },
      {
        "text": "prefix",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc",
    "column-orders": [
      [
        "prefix",
        "asn",
        "accepted",
        "matched-entry"
      ]
    ]
  },
  {
    "path": "show bgp irr prefix",
    "description": "Show IRR-resolved prefixes for a peer.",
    "long-help": "Lists all IPv4 and IPv6 prefixes\nin the IRR-resolved prefix-list for the given peer address.",
    "mode": "read-only",
    "wire-method": "ze-show:irr-prefix",
    "args": [
      {
        "name": "peer",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show bgp irr prefix <peer>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "prefix",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      }
    ],
    "answer-shape": "map",
    "column-orders": [
      [
        "asn",
        "as-set",
        "prefixes"
      ]
    ]
  },
  {
    "path": "show bgp peer capabilities",
    "description": "Show what capabilities were negotiated with a peer.",
    "long-help": "The row carries the peer address and the FSM state. Once the OPEN exchange\ncompleted, a negotiated map follows with the address families, the extended\nmessage capability, enhanced route refresh, and 4-byte ASN support.\nnegotiated.paths-limit carries nonzero limits keyed by family: send is the\npeer's maximum paths per prefix enforced on our outbound updates; receive is\nour advertised receive request, not a locally enforced inbound limit. Zero or\nabsent limits are omitted. A selector that matches no peer is refused with\n'no matching peers'.",
    "mode": "read-only",
    "wire-method": "ze-bgp:peer-capabilities",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show bgp peer <selector> capabilities",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "capabilities",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "peer"
    ],
    "column-orders": [
      [
        "peer",
        "state",
        "negotiation-complete",
        "negotiated"
      ]
    ]
  },
  {
    "path": "show bgp peer detail",
    "description": "Show full detail for one or more peers.",
    "long-help": "Each peer row carries the remote and local ASN, the router ID, the peer type,\nand four timers: receive hold time, send hold time, keepalive, and connect\nretry. The 'connect' and 'accept' flags say which directions this session opens.\nA 'messages' map counts OPEN, UPDATE, NOTIFICATION, KEEPALIVE, ROUTE-REFRESH and\nEnd-of-RIB in each direction. Negotiated nonzero PATHS-LIMIT values appear\nunder capabilities.paths-limit, keyed by family: send is the peer's maximum\npaths per prefix enforced on our outbound updates; receive is our advertised\nreceive request, not a locally enforced inbound limit. Zero or absent limits\nare omitted.",
    "mode": "read-only",
    "wire-method": "ze-bgp:peer-detail",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show bgp peer <selector> detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "local-ip",
      "next-hop-address"
    ],
    "column-orders": [
      [
        "name",
        "group",
        "remote-as",
        "local-as",
        "peer-type",
        "router-id",
        "state",
        "uptime",
        "last-notification",
        "local-ip",
        "next-hop",
        "next-hop-address",
        "timer",
        "capabilities"
      ]
    ]
  },
  {
    "path": "show bgp peer history",
    "description": "Show FSM state transitions for a peer over time.",
    "long-help": "Each row reads as a sentence: when the transition happened, the state it left,\nthe state it reached, and the reason. Only the first matched peer is read, so a\nwildcard selector with no argument is refused with 'no peer specified'. A peer\nwhose transitions were never recorded answers 'no history for peer'.",
    "mode": "read-only",
    "wire-method": "ze-bgp:peer-history",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show bgp peer <selector> history",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "history",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "timestamp",
        "from",
        "to",
        "reason"
      ]
    ]
  },
  {
    "path": "show bgp peer list",
    "description": "List your peers, one line each.",
    "long-help": "Shows name, address, ASN, state, and uptime. Quick overview without\nthe per-peer detail.",
    "mode": "read-only",
    "wire-method": "ze-bgp:peer-list",
    "usage": "show bgp peer list",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "name",
        "group",
        "remote-as",
        "state",
        "uptime"
      ]
    ]
  },
  {
    "path": "show bgp peer rib",
    "description": "Show RIB data scoped to one peer.",
    "long-help": "The command forwards to the RIB plugin with the peer selector attached, so the\nRIB plugin MUST be loaded for it to answer. 'show bgp rib' reads the same plugin\nwithout a peer scope.",
    "mode": "read-only",
    "wire-method": "ze-bgp:peer-rib",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show bgp peer <selector> rib [sent|advertised|received|sent-received]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "rib",
        "kind": "keyword"
      },
      {
        "text": "scope",
        "values": [
          "sent",
          "advertised",
          "received",
          "sent-received"
        ],
        "kind": "choice"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "peer",
      "next-hop"
    ],
    "column-orders": [
      [
        "peer",
        "direction",
        "family",
        "prefix",
        "next-hop",
        "path-id",
        "as-path",
        "origin",
        "local-pref",
        "med",
        "communities"
      ]
    ],
    "subcommands": [
      "scope"
    ]
  },
  {
    "path": "show bgp peer statistics",
    "description": "Show UPDATE throughput for your peers.",
    "long-help": "Each row carries the peer address, its ASN, the FSM state, and the session\nuptime. Six counters follow, for UPDATE, KEEPALIVE and End-of-RIB messages in\neach direction. Each rate is the cumulative counter divided by the uptime in\nseconds, so a session that is not established reports 0.",
    "mode": "read-only",
    "wire-method": "ze-bgp:peer-statistics",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show bgp peer <selector> statistics",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "statistics",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "address"
    ],
    "column-orders": [
      [
        "address",
        "remote-as",
        "state",
        "uptime",
        "updates-received",
        "updates-sent",
        "keepalives-received",
        "keepalives-sent",
        "eor-received",
        "eor-sent",
        "rate-updates-received",
        "rate-updates-sent",
        "rate-keepalives-received",
        "rate-keepalives-sent"
      ]
    ]
  },
  {
    "path": "show bgp reject-asn",
    "description": "Show every reject-asn list.",
    "long-help": "Lists each configured reject-asn list with every ASN it holds, the\neffective position set for that ASN, the network the curated table\nnames for it, and how many peers name the list on import and on\nexport. An ASN the curated table does not know prints with no\nannotation.",
    "mode": "read-only",
    "wire-method": "ze-show:reject-asn",
    "usage": "show bgp reject-asn",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "reject-asn",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "name",
        "import-peers",
        "export-peers",
        "entries",
        "patterns"
      ],
      [
        "asn",
        "positions",
        "network"
      ]
    ],
    "pipe-aliases": [
      {
        "name": "peers",
        "description": "The peer rows, without the aggregate fields",
        "expansion": "display peers"
      },
      {
        "name": "summary",
        "description": "The aggregate fields, without the peer rows",
        "expansion": "display router-id local-as uptime peers-configured peers-established"
      }
    ],
    "subcommands": [
      "known",
      "name"
    ]
  },
  {
    "path": "show bgp reject-asn known transit-free",
    "description": "Print the curated transit-free ASNs as a config block.",
    "long-help": "Prints the well-known transit-free ASNs as one `indirect [ ... ];`\nline to paste directly under `reject-asn NAME { }`, with the sources and\nthe curated date as comments. Ze acts on no ASN it was not configured\nwith, so this command is how the set reaches a config. After the paste\nthe config holds the numbers, and a later change to the curated table\ncannot alter it.",
    "mode": "read-only",
    "wire-method": "ze-show:reject-asn-known-transit-free",
    "usage": "show bgp reject-asn known transit-free",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "reject-asn",
        "kind": "keyword"
      },
      {
        "text": "known",
        "kind": "keyword"
      },
      {
        "text": "transit-free",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc",
    "column-orders": [
      [
        "curated",
        "sources",
        "networks",
        "block"
      ],
      [
        "asn",
        "name",
        "contested"
      ]
    ],
    "pipe-aliases": [
      {
        "name": "peers",
        "description": "The peer rows, without the aggregate fields",
        "expansion": "display peers"
      },
      {
        "name": "summary",
        "description": "The aggregate fields, without the peer rows",
        "expansion": "display router-id local-as uptime peers-configured peers-established"
      }
    ]
  },
  {
    "path": "show bgp reject-asn name",
    "description": "Show one reject-asn list.",
    "long-help": "The same answer for a single list, for a config that holds many.",
    "mode": "read-only",
    "wire-method": "ze-show:reject-asn-name",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show bgp reject-asn name <name>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "reject-asn",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc",
    "column-orders": [
      [
        "name",
        "import-peers",
        "export-peers",
        "entries",
        "patterns"
      ],
      [
        "asn",
        "positions",
        "network"
      ]
    ],
    "pipe-aliases": [
      {
        "name": "peers",
        "description": "The peer rows, without the aggregate fields",
        "expansion": "display peers"
      },
      {
        "name": "summary",
        "description": "The aggregate fields, without the peer rows",
        "expansion": "display router-id local-as uptime peers-configured peers-established"
      }
    ]
  },
  {
    "path": "show bgp rib",
    "description": "Query routes in the BGP RIB.",
    "long-help": "Look at received or advertised routes with flexible filters: peer,\nfamily, prefix, AS path regex, community, match expression. Pipe\noperators: | count, | histogram, | graph. This is the main\nroute inspection command.",
    "mode": "read-only",
    "wire-method": "ze-rib-api:routes",
    "task-support": "required",
    "usage": "show bgp rib",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "rib",
        "kind": "keyword"
      }
    ],
    "pipes": [
      {
        "name": "advertised",
        "description": "Select advertised routes"
      },
      {
        "name": "community",
        "description": "Filter by standard community",
        "takes-arg": true
      },
      {
        "name": "count",
        "description": "Count matching routes without serializing rows"
      },
      {
        "name": "family",
        "description": "Filter by AFI/SAFI",
        "takes-arg": true
      },
      {
        "name": "first",
        "description": "Take first N routes",
        "takes-arg": true
      },
      {
        "name": "graph",
        "description": "Render AS-path topology graph"
      },
      {
        "name": "histogram",
        "description": "Count routes by family and prefix length"
      },
      {
        "name": "last",
        "description": "Take last N routes",
        "takes-arg": true
      },
      {
        "name": "match",
        "description": "Cross-field structured match",
        "takes-arg": true
      },
      {
        "name": "path",
        "description": "Filter by AS path",
        "takes-arg": true
      },
      {
        "name": "peer",
        "description": "Filter by peer",
        "takes-arg": true
      },
      {
        "name": "prefix",
        "description": "Filter by prefix",
        "takes-arg": true
      },
      {
        "name": "received",
        "description": "Select received routes"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "peer",
      "next-hop"
    ],
    "column-orders": [
      [
        "peer",
        "direction",
        "family",
        "prefix",
        "next-hop",
        "path-id",
        "as-path",
        "origin",
        "local-pref",
        "med",
        "communities"
      ]
    ],
    "subcommands": [
      "best",
      "rpf",
      "status"
    ]
  },
  {
    "path": "show bgp rib best",
    "description": "Show the winning route for each prefix.",
    "long-help": "Same filters as 'show bgp rib'. Use '| reason' to see why each\npath was selected (local-pref, AS path length, MED, etc.).",
    "mode": "read-only",
    "wire-method": "ze-rib-api:best",
    "usage": "show bgp rib best",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "rib",
        "kind": "keyword"
      },
      {
        "text": "best",
        "kind": "keyword"
      }
    ],
    "pipes": [
      {
        "name": "community",
        "description": "Filter by standard community",
        "takes-arg": true
      },
      {
        "name": "count",
        "description": "Count matching best paths without serializing rows"
      },
      {
        "name": "family",
        "description": "Filter by AFI/SAFI",
        "takes-arg": true
      },
      {
        "name": "first",
        "description": "Take first N best paths",
        "takes-arg": true
      },
      {
        "name": "graph",
        "description": "Render AS-path topology graph"
      },
      {
        "name": "histogram",
        "description": "Count routes by family and prefix length"
      },
      {
        "name": "last",
        "description": "Take last N best paths",
        "takes-arg": true
      },
      {
        "name": "match",
        "description": "Cross-field structured match",
        "takes-arg": true
      },
      {
        "name": "path",
        "description": "Filter by AS path",
        "takes-arg": true
      },
      {
        "name": "peer",
        "description": "Filter by peer",
        "takes-arg": true
      },
      {
        "name": "prefix",
        "description": "Filter by prefix",
        "takes-arg": true
      },
      {
        "name": "reason",
        "description": "Explain best-path selection"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "best-peer",
      "next-hop"
    ],
    "column-orders": [
      [
        "family",
        "prefix",
        "best-peer",
        "multipath-peers",
        "attributes"
      ]
    ],
    "subcommands": [
      "status"
    ]
  },
  {
    "path": "show bgp rib best status",
    "description": "Check whether best-path computation is still running.",
    "long-help": "Reports idle, pending, or running, plus the last run duration.",
    "mode": "read-only",
    "wire-method": "ze-rib-api:best-status",
    "usage": "show bgp rib best status",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "rib",
        "kind": "keyword"
      },
      {
        "text": "best",
        "kind": "keyword"
      },
      {
        "text": "status",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc",
    "column-orders": [
      [
        "running",
        "peers-with-rib",
        "total-routes"
      ]
    ]
  },
  {
    "path": "show bgp rib commands",
    "description": "List RIB commands",
    "mode": "read-only",
    "usage": "show bgp rib commands",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "name",
        "description"
      ]
    ]
  },
  {
    "path": "show bgp rib events",
    "description": "List RIB event types",
    "mode": "read-only",
    "usage": "show bgp rib events",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      }
    ],
    "answer-shape": "map"
  },
  {
    "path": "show bgp rib help",
    "description": "Show RIB subcommands",
    "mode": "read-only",
    "usage": "show bgp rib help",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      }
    ],
    "answer-shape": "map"
  },
  {
    "path": "show bgp rib protocol",
    "description": "Show routes for a specific protocol: <protocol> [peer-selector] [pipeline-args...]",
    "mode": "read-only",
    "usage": "show bgp rib protocol",
    "pipes": [
      {
        "name": "advertised",
        "description": "Select advertised routes"
      },
      {
        "name": "community",
        "description": "Filter by standard community",
        "takes-arg": true
      },
      {
        "name": "count",
        "description": "Count matching routes without serializing rows"
      },
      {
        "name": "family",
        "description": "Filter by AFI/SAFI",
        "takes-arg": true
      },
      {
        "name": "first",
        "description": "Take first N routes",
        "takes-arg": true
      },
      {
        "name": "graph",
        "description": "Render AS-path topology graph"
      },
      {
        "name": "histogram",
        "description": "Count routes by family and prefix length"
      },
      {
        "name": "last",
        "description": "Take last N routes",
        "takes-arg": true
      },
      {
        "name": "match",
        "description": "Cross-field structured match",
        "takes-arg": true
      },
      {
        "name": "path",
        "description": "Filter by AS path",
        "takes-arg": true
      },
      {
        "name": "peer",
        "description": "Filter by peer",
        "takes-arg": true
      },
      {
        "name": "prefix",
        "description": "Filter by prefix",
        "takes-arg": true
      },
      {
        "name": "received",
        "description": "Select received routes"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "peer",
      "next-hop"
    ],
    "column-orders": [
      [
        "peer",
        "direction",
        "family",
        "prefix",
        "next-hop",
        "path-id",
        "as-path",
        "origin",
        "local-pref",
        "med",
        "communities"
      ]
    ]
  },
  {
    "path": "show bgp rib rpf",
    "description": "Reverse-path forwarding lookup in the Loc-RIB.",
    "long-help": "Performs a longest-prefix-match and returns the best-path entry.\nUse this to verify RPF checks would pass for a given source.",
    "mode": "read-only",
    "wire-method": "ze-rib-api:rpf",
    "usage": "show bgp rib rpf",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "rib",
        "kind": "keyword"
      },
      {
        "text": "rpf",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc",
    "address-fields": [
      "source",
      "next-hop"
    ],
    "column-orders": [
      [
        "source",
        "family",
        "found",
        "matched-prefix",
        "next-hop",
        "distance",
        "metric"
      ]
    ]
  },
  {
    "path": "show bgp rib status",
    "description": "Get a quick RIB overview without dumping routes.",
    "long-help": "Shows total peers, received/accepted/advertised route counts, and\nper-family breakdowns. Use this to confirm convergence after a\npeer comes up.",
    "mode": "read-only",
    "wire-method": "ze-rib-api:status",
    "usage": "show bgp rib status",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "rib",
        "kind": "keyword"
      },
      {
        "text": "status",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc",
    "column-orders": [
      [
        "running",
        "peers",
        "routes-in",
        "routes-out",
        "stale-routes",
        "route-counts",
        "gr-state"
      ]
    ]
  },
  {
    "path": "show bgp rpki",
    "description": "Show RPKI validation counters with one row for each cache server",
    "mode": "read-only",
    "usage": "show bgp rpki",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "address"
    ],
    "column-orders": [
      [
        "address",
        "port",
        "state",
        "synced",
        "version"
      ]
    ],
    "pipe-aliases": [
      {
        "name": "summary",
        "description": "The validation counters, without the cache server rows",
        "expansion": "display vrp-count validation-enabled sessions-total sessions-established sessions-synced aspa-enabled aspa-records"
      }
    ]
  },
  {
    "path": "show bgp rpki aspa",
    "description": "Show ASPA cache or lookup providers for a customer AS",
    "mode": "read-only",
    "usage": "show bgp rpki aspa",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "customer-asn",
        "providers"
      ]
    ]
  },
  {
    "path": "show bgp rpki cache",
    "description": "Show RTR cache server sessions with protocol details",
    "mode": "read-only",
    "usage": "show bgp rpki cache",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "address"
    ],
    "column-orders": [
      [
        "address",
        "port",
        "preference",
        "state",
        "synced",
        "version",
        "session-id",
        "serial",
        "refresh-interval",
        "retry-interval",
        "expire-interval"
      ]
    ]
  },
  {
    "path": "show bgp rpki roa",
    "description": "Show ROA table entries or lookup covering VRPs for a prefix",
    "mode": "read-only",
    "usage": "show bgp rpki roa",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "prefix"
    ],
    "column-orders": [
      [
        "prefix",
        "max-length",
        "asn"
      ]
    ]
  },
  {
    "path": "show bgp rpki status",
    "description": "Show RPKI validation status and cache server overview",
    "mode": "read-only",
    "usage": "show bgp rpki status",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc"
  },
  {
    "path": "show bgp rpki summary",
    "description": "Show RPKI validation summary with session and ASPA counts",
    "mode": "read-only",
    "usage": "show bgp rpki summary",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc"
  },
  {
    "path": "show bgp rs peers",
    "description": "Show peer states",
    "mode": "read-only",
    "usage": "show bgp rs peers",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      },
      {
        "name": "resolve",
        "class": "data",
        "available": "always",
        "description": "Reverse DNS for IP addresses"
      },
      {
        "name": "origin",
        "class": "data",
        "available": "always",
        "description": "ASN and network for IP addresses"
      }
    ],
    "answer-shape": "tab",
    "address-fields": [
      "address"
    ],
    "column-orders": [
      [
        "address",
        "remote",
        "up"
      ]
    ]
  },
  {
    "path": "show bgp rs status",
    "description": "Show RS status",
    "mode": "read-only",
    "usage": "show bgp rs status",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc"
  },
  {
    "path": "show bgp update-delay",
    "description": "Show the startup convergence hold and what it waits for.",
    "long-help": "The command takes no argument, because the hold belongs to the speaker and not to a\npeer. configured says an operator set bgp update-delay max-delay. holding says this speaker is withholding its\nfirst advertisement right now, and released says the hold has ended. reason names the condition that ended it:\nconverged, establish-wait or max-delay. expected-peers, peers-held and peers-converged say what the hold is\nstill waiting for, so you can name the neighbor that has not finished. Read this command when a speaker has come\nup and advertised nothing: it separates a hold that is working from a daemon that is wedged.",
    "mode": "read-only",
    "wire-method": "ze-bgp:update-delay",
    "usage": "show bgp update-delay",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "update-delay",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc",
    "column-orders": [
      [
        "configured",
        "holding",
        "released",
        "reason",
        "expected-peers",
        "peers-held",
        "peers-converged",
        "max-delay-seconds",
        "establish-wait-seconds"
      ]
    ]
  },
  {
    "path": "show bmp collectors",
    "description": "Show BMP collector connection status.",
    "long-help": "Lists configured collectors with connection state, sent message\ncounts, and error statistics. Check here if your collector is\nnot receiving data.",
    "mode": "read-only",
    "wire-method": "ze-show:bmp-collectors",
    "usage": "show bmp collectors",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bmp",
        "kind": "keyword"
      },
      {
        "text": "collectors",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show bmp peers",
    "description": "Show BGP peers as seen through BMP monitoring.",
    "long-help": "Lists peers reported via BMP with their state and route statistics.",
    "mode": "read-only",
    "wire-method": "ze-show:bmp-peers",
    "usage": "show bmp peers",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bmp",
        "kind": "keyword"
      },
      {
        "text": "peers",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show bmp rib",
    "description": "Show routes received via BMP monitoring sessions.",
    "long-help": "Returns the BMP RIB content. Use this to verify what your\ncollector is seeing from remote peers.",
    "mode": "read-only",
    "wire-method": "ze-show:bmp-rib",
    "usage": "show bmp rib",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bmp",
        "kind": "keyword"
      },
      {
        "text": "rib",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show bmp sessions",
    "description": "Show active BMP receiver sessions.",
    "long-help": "Lists each session with connection state and message counters.\nCheck here to confirm your BMP collector is receiving data.",
    "mode": "read-only",
    "wire-method": "ze-show:bmp-sessions",
    "usage": "show bmp sessions",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "bmp",
        "kind": "keyword"
      },
      {
        "text": "sessions",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show cache",
    "description": "List the cached BGP UPDATE message IDs.",
    "long-help": "The answer carries two keys, 'ids' and 'count'. An ID is listed while its entry\nis retained, or while that entry has not expired. The IDs come alone, with no\nretain flag and no consumer state beside them.",
    "mode": "read-only",
    "wire-method": "ze-bgp:cache-list",
    "usage": "show cache",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "cache",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show capture",
    "description": "Show captured control-plane messages.",
    "long-help": "Returns protocol messages you previously enabled capture for. Without a\nprotocol keyword, shows all protocols. Use this to debug session establishment\nissues.",
    "mode": "read-only",
    "wire-method": "ze-show:capture",
    "args": [
      {
        "name": "protocol",
        "type": "enum",
        "values": [
          "l2tp",
          "bgp"
        ]
      },
      {
        "name": "tunnel-id",
        "type": "string"
      },
      {
        "name": "count",
        "type": "uint"
      },
      {
        "name": "peer",
        "type": "string"
      }
    ],
    "usage": "show capture [protocol <l2tp|bgp>] [tunnel-id <tunnel-id>] [count <count>] [peer <peer>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "capture",
        "kind": "keyword"
      },
      {
        "text": "protocol",
        "values": [
          "l2tp",
          "bgp"
        ],
        "kind": "option"
      },
      {
        "text": "tunnel-id",
        "kind": "option"
      },
      {
        "text": "count",
        "kind": "option"
      },
      {
        "text": "peer",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "interface",
      "raw"
    ]
  },
  {
    "path": "show capture interface",
    "description": "Capture live packets on an interface (like tcpdump).",
    "long-help": "Uses AF_PACKET for zero-copy capture. Filter by protocol and port. Limit with\ncount or duration. Output as pcap (for Wireshark) or text. Snap-len controls\nhow many bytes per packet are captured.",
    "mode": "read-only",
    "wire-method": "ze-show:capture-interface",
    "args": [
      {
        "name": "iface",
        "type": "string"
      },
      {
        "name": "count",
        "type": "uint"
      },
      {
        "name": "duration",
        "type": "string"
      },
      {
        "name": "snap-len",
        "type": "uint"
      },
      {
        "name": "format",
        "type": "enum",
        "values": [
          "pcap",
          "text"
        ]
      },
      {
        "name": "protocol",
        "type": "string"
      }
    ],
    "usage": "show capture interface [iface <iface>] [count <count>] [duration <duration>] [snap-len <snap-len>] [format <pcap|text>] [protocol <protocol>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "capture",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "iface",
        "kind": "option"
      },
      {
        "text": "count",
        "kind": "option"
      },
      {
        "text": "duration",
        "kind": "option"
      },
      {
        "text": "snap-len",
        "kind": "option"
      },
      {
        "text": "format",
        "values": [
          "pcap",
          "text"
        ],
        "kind": "option"
      },
      {
        "text": "protocol",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show capture raw",
    "description": "Control raw byte capture for protocol debugging.",
    "long-help": "Actions: start (begin capturing), stop (halt), dump (retrieve). Protocols:\nl2tp, bgp. Output formats: pcap (for Wireshark), json. Limit with count <N>.",
    "mode": "read-only",
    "wire-method": "ze-show:capture-raw",
    "args": [
      {
        "name": "action",
        "type": "enum",
        "values": [
          "start",
          "stop",
          "dump"
        ]
      },
      {
        "name": "protocol",
        "type": "enum",
        "values": [
          "l2tp",
          "bgp"
        ]
      },
      {
        "name": "format",
        "type": "enum",
        "values": [
          "pcap",
          "json"
        ]
      },
      {
        "name": "count",
        "type": "uint"
      }
    ],
    "usage": "show capture raw [action <start|stop|dump>] [protocol <l2tp|bgp>] [format <pcap|json>] [count <count>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "capture",
        "kind": "keyword"
      },
      {
        "text": "raw",
        "kind": "keyword"
      },
      {
        "text": "action",
        "values": [
          "start",
          "stop",
          "dump"
        ],
        "kind": "option"
      },
      {
        "text": "protocol",
        "values": [
          "l2tp",
          "bgp"
        ],
        "kind": "option"
      },
      {
        "text": "format",
        "values": [
          "pcap",
          "json"
        ],
        "kind": "option"
      },
      {
        "text": "count",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show class-of-service",
    "description": "Show each class-of-service profile with its ingress and egress marking maps.",
    "mode": "read-only",
    "usage": "show class-of-service",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show command complete",
    "description": "Get tab-completion candidates for a partial command.",
    "long-help": "Returns possible completions for the given input. Used internally by the CLI\neditor, but also callable for scripting.",
    "mode": "read-only",
    "wire-method": "ze-bgp:command-complete",
    "usage": "show command complete",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "command",
        "kind": "keyword"
      },
      {
        "text": "complete",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show command help",
    "description": "Show usage and arguments for a specific command.",
    "long-help": "Gives you the full description, expected arguments, and usage pattern for one\ncommand.",
    "mode": "read-only",
    "wire-method": "ze-bgp:command-help",
    "usage": "show command help",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "command",
        "kind": "keyword"
      },
      {
        "text": "help",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show command list",
    "description": "List every command the daemon knows about.",
    "long-help": "Returns dispatch key and description for each. Useful for scripting or\ndiscovering commands not shown in the top-level help.",
    "mode": "read-only",
    "wire-method": "ze-bgp:command-list",
    "usage": "show command list",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "command",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show config cat",
    "description": "Print the full text of a stored configuration snapshot.",
    "long-help": "Outputs the config as-is.",
    "mode": "read-only",
    "wire-method": "ze-show:config-cat",
    "args": [
      {
        "name": "id",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show config cat <id>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "config",
        "kind": "keyword"
      },
      {
        "text": "cat",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "value"
      }
    ]
  },
  {
    "path": "show config diff",
    "description": "Compare two configuration versions side by side.",
    "long-help": "Shows what was added, removed, or changed. Commonly used with rollback\nrevisions to review what changed before you roll back.",
    "mode": "read-only",
    "wire-method": "ze-show:config-diff",
    "usage": "show config diff",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "config",
        "kind": "keyword"
      },
      {
        "text": "diff",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc"
  },
  {
    "path": "show config dump",
    "description": "Show the fully resolved configuration tree.",
    "long-help": "Parses the config and outputs it after includes, defaults, and group\ninheritance have been applied. What you see here is exactly what the daemon is\nusing.",
    "mode": "read-only",
    "wire-method": "ze-show:config-dump",
    "usage": "show config dump",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "config",
        "kind": "keyword"
      },
      {
        "text": "dump",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc"
  },
  {
    "path": "show config fmt",
    "description": "Pretty-print the configuration with consistent formatting.",
    "long-help": "Normalizes indentation and ordering. Output goes to stdout (read-only). To\nrewrite the file in place, use 'ze config fmt -w' from the CLI.",
    "mode": "read-only",
    "wire-method": "ze-show:config-fmt",
    "usage": "show config fmt",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "config",
        "kind": "keyword"
      },
      {
        "text": "fmt",
        "kind": "keyword"
      }
    ]
  },
  {
    "path": "show config graph",
    "description": "Show how components and peers depend on each other, as JSON.",
    "long-help": "It takes a config file path, or - to read the file on stdin. Inactive blocks are pruned before the graph is built, so a deactivated peer contributes no edge and the answer describes the config as it would run.",
    "mode": "offline"
  },
  {
    "path": "show config history",
    "description": "List available configuration rollback points.",
    "long-help": "Shows revisions with timestamps and commit metadata. Pair with 'show config\ndiff' to review changes before rolling back.",
    "mode": "read-only",
    "wire-method": "ze-show:config-history",
    "usage": "show config history",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "config",
        "kind": "keyword"
      },
      {
        "text": "history",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "revision",
        "timestamp",
        "path",
        "state"
      ]
    ]
  },
  {
    "path": "show config list",
    "description": "List all configuration files stored in the database.",
    "long-help": "Shows archived snapshots and the active config.",
    "mode": "read-only",
    "wire-method": "ze-show:config-list",
    "usage": "show config list",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "config",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "source",
        "path"
      ]
    ]
  },
  {
    "path": "show crashes",
    "description": "View saved crash reports, and whether kernel capture is armed.",
    "long-help": "Without arguments, lists every stored report with its kind: 'panic' for a Go\npanic this daemon caught, 'kernel' for a kernel fault recovered from the\nreserved region on the following boot. The listing also carries a readiness\nblock, which reports configured and armed separately because the reservation\nis a kernel boot argument and a commit alone does not arm it. Use 'latest' to\nsee the newest report or 'name <filename>' to print one. Send the output to\nsupport when reporting a crash.",
    "mode": "read-only",
    "wire-method": "ze-show:crashes",
    "args": [
      {
        "name": "name",
        "type": "string"
      }
    ],
    "usage": "show crashes [name <name>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "crashes",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show data cat",
    "description": "Print the raw content of a blob store entry.",
    "long-help": "Outputs the value for the given key, like 'cat' for ZeFS.",
    "mode": "read-only",
    "wire-method": "ze-show:data-cat",
    "args": [
      {
        "name": "key",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show data cat <key>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "data",
        "kind": "keyword"
      },
      {
        "text": "cat",
        "kind": "keyword"
      },
      {
        "text": "key",
        "kind": "value"
      }
    ]
  },
  {
    "path": "show data list",
    "description": "List everything stored in the ZeFS blob store.",
    "long-help": "Shows all keys and their sizes. Use 'show data cat <key>' to see the content\nof a specific entry.",
    "mode": "read-only",
    "wire-method": "ze-show:data-list",
    "usage": "show data list",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "data",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "key"
      ]
    ]
  },
  {
    "path": "show data registered",
    "description": "List the key patterns registered by all subsystems.",
    "long-help": "Shows you what types of data ZeFS knows about.",
    "mode": "read-only",
    "wire-method": "ze-show:data-registered",
    "usage": "show data registered",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "data",
        "kind": "keyword"
      },
      {
        "text": "registered",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "pattern",
        "description"
      ]
    ]
  },
  {
    "path": "show ddos flowspec",
    "description": "Show the upstream FlowSpec and RTBH DDoS mitigation status.",
    "long-help": "The status names whether a rule is announced now, the\ntarget vector that rule covers, and whether the leak-probe is running.",
    "mode": "read-only",
    "wire-method": "ze-show:ddos-flowspec",
    "usage": "show ddos flowspec",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ddos",
        "kind": "keyword"
      },
      {
        "text": "flowspec",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ddos incidents",
    "description": "Show the recent DDoS incident ring (newest first).",
    "long-help": "Per incident: the target vector (prefix/proto/port), attack family, top\nsource addresses, peak pps/bps, start/end time, and whether it is still active.",
    "mode": "read-only",
    "wire-method": "ze-show:ddos-incidents",
    "usage": "show ddos incidents",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ddos",
        "kind": "keyword"
      },
      {
        "text": "incidents",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ddos local",
    "description": "Show the on-host DDoS mitigation status.",
    "long-help": "The answer states whether an nft drop rule is installed\nnow, and the target vector it covers: prefix, protocol, or port.",
    "mode": "read-only",
    "wire-method": "ze-show:ddos-local",
    "usage": "show ddos local",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ddos",
        "kind": "keyword"
      },
      {
        "text": "local",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ddos status",
    "description": "Show the DDoS observation status.",
    "long-help": "Returns whether the incident store is running, the number of active\nattacks, and the number of incidents the ring retains.",
    "mode": "read-only",
    "wire-method": "ze-show:ddos-status",
    "usage": "show ddos status",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ddos",
        "kind": "keyword"
      },
      {
        "text": "status",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show debug",
    "description": "Show live debug state from the running daemon.",
    "long-help": "Lists every registered subsystem with its current log level and any active\nflag or scope filters. Unlike 'debug show' (which reads the stored profile),\nthis reflects actual runtime state.",
    "mode": "read-only",
    "wire-method": "ze-debug:debug-state",
    "usage": "show debug",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "debug",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show debug profile",
    "description": "Show stored debug profiles, one by name, or one filtered to a module subtree.",
    "long-help": "With no argument it lists the profile names. `name <name>` prints that profile as a table of module, level, flags and scopes. Adding `module <prefix>` keeps the rows under one subsystem subtree. Any other trailing word is refused rather than ignored.",
    "mode": "offline"
  },
  {
    "path": "show dns cache list",
    "description": "List all non-expired DNS cache entries, sorted by shortest TTL first.",
    "long-help": "An entry whose TTL has run out is left out rather than reported\nas expired. The count beside the list is the number of entries reported.",
    "mode": "read-only",
    "wire-method": "ze-show:dns-cache-list",
    "usage": "show dns cache list",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "dns",
        "kind": "keyword"
      },
      {
        "text": "cache",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show dns cache record",
    "description": "Show DNS cache entries for one record name.",
    "long-help": "The name must match the cache key exactly, and a reverse lookup\nis held under its in-addr.arpa or ip6.arpa name. A name that is not cached answers an empty\nlist and a count of zero.",
    "mode": "read-only",
    "wire-method": "ze-show:dns-cache-record",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show dns cache record <name>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "dns",
        "kind": "keyword"
      },
      {
        "text": "cache",
        "kind": "keyword"
      },
      {
        "text": "record",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show dns cache stats",
    "description": "Show the DNS cache hit, miss, eviction, expiry, and hit-rate counters.",
    "long-help": "It reads the counters and does not change the\ncache contents.",
    "mode": "read-only",
    "wire-method": "ze-show:dns-cache-stats",
    "usage": "show dns cache stats",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "dns",
        "kind": "keyword"
      },
      {
        "text": "cache",
        "kind": "keyword"
      },
      {
        "text": "stats",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show dns lookup",
    "description": "Look up a DNS name from the router.",
    "long-help": "Resolves <hostname> using the daemon's DNS resolver (falls back to the system\nresolver if no DNS component is configured). Default type is A. Returns\nrecords, TTL, and query time. Supports A, AAAA, MX, NS, TXT, CNAME, and PTR.",
    "mode": "read-only",
    "wire-method": "ze-show:dns-lookup",
    "args": [
      {
        "name": "hostname",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "type",
        "type": "enum",
        "values": [
          "A",
          "AAAA",
          "MX",
          "NS",
          "TXT",
          "CNAME",
          "PTR"
        ]
      }
    ],
    "usage": "show dns lookup <hostname> [type <A|AAAA|MX|NS|TXT|CNAME|PTR>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "dns",
        "kind": "keyword"
      },
      {
        "text": "lookup",
        "kind": "keyword"
      },
      {
        "text": "hostname",
        "kind": "value"
      },
      {
        "text": "type",
        "values": [
          "A",
          "AAAA",
          "MX",
          "NS",
          "TXT",
          "CNAME",
          "PTR"
        ],
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show doctor",
    "description": "Check if this box is ready to run Ze.",
    "long-help": "Verifies runtime dependencies: required files, sockets,\nports, and kernel modules. Each check reports pass or fail with a reason. Run\nthis before first start or after changing the platform setup.",
    "mode": "read-only",
    "wire-method": "ze-show:doctor",
    "usage": "show doctor",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "doctor",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ecmp-groups",
    "description": "Show each prefix the system RIB holds equal-cost paths for, whether or not Ze programs them.",
    "mode": "read-only",
    "usage": "show ecmp-groups",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show env get",
    "description": "Show one environment variable in detail.",
    "long-help": "Returns the variable name, current value, default, and what it controls.",
    "mode": "read-only",
    "wire-method": "ze-show:env-get",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show env get <name>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "env",
        "kind": "keyword"
      },
      {
        "text": "get",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "key",
        "type",
        "default",
        "current",
        "description"
      ]
    ]
  },
  {
    "path": "show env list",
    "description": "List all Ze environment variables with their current values.",
    "long-help": "Shows which env vars are set and their defaults.",
    "mode": "read-only",
    "wire-method": "ze-show:env-list",
    "usage": "show env list",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "env",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "key",
        "type",
        "default",
        "current",
        "description"
      ]
    ]
  },
  {
    "path": "show env registered",
    "description": "List every registered environment variable with metadata.",
    "long-help": "Includes type, default, description, and whether it is currently set.",
    "mode": "read-only",
    "wire-method": "ze-show:env-registered",
    "usage": "show env registered",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "env",
        "kind": "keyword"
      },
      {
        "text": "registered",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "key",
        "type",
        "default",
        "current",
        "description"
      ]
    ]
  },
  {
    "path": "show errors",
    "description": "Show recent errors across all subsystems, newest first.",
    "long-help": "This is the first place to look when something goes wrong. Filter\nwith source <name> to narrow to one subsystem, count <N> to limit\noutput.",
    "mode": "read-only",
    "wire-method": "ze-show:errors",
    "usage": "show errors",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "errors",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show event delivery",
    "description": "Show which peers feed which attached processes.",
    "long-help": "One block per peer, one row per `attach process` block on it: the\nevent types that process is fed, and the message types it may send\ntoward that peer. A token the event registry does not know is listed\nas unresolved and carries no edge. Answer to 'why does my program\nsee nothing from this peer'.",
    "mode": "read-only",
    "wire-method": "ze-show:event-delivery",
    "usage": "show event delivery",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "event",
        "kind": "keyword"
      },
      {
        "text": "delivery",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show event list",
    "description": "List every event type you can subscribe to.",
    "long-help": "Shows event name, category, and payload structure. Use this to discover what\nevents are available before subscribing.",
    "mode": "read-only",
    "wire-method": "ze-bgp:event-list",
    "usage": "show event list",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "event",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show event namespaces",
    "description": "List all event namespaces and how many events each has logged.",
    "long-help": "Tells you which subsystems are generating events and how active\nthey are.",
    "mode": "read-only",
    "wire-method": "ze-show:event-namespaces",
    "usage": "show event namespaces",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "event",
        "kind": "keyword"
      },
      {
        "text": "namespaces",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show event recent",
    "description": "Show recent events, newest first.",
    "long-help": "Each event includes timestamp, namespace, and type. Filter with\nnamespace <name> to focus on one area, count <N> to limit output.\nUseful for reconstructing what happened before an incident.",
    "mode": "read-only",
    "wire-method": "ze-show:event-recent",
    "usage": "show event recent",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "event",
        "kind": "keyword"
      },
      {
        "text": "recent",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show fib kernel",
    "description": "Show the routes this backend programmed into the Linux forwarding table.",
    "mode": "read-only",
    "usage": "show fib kernel",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show fib p4",
    "description": "Show the routes this backend programmed into the P4 forwarding pipeline.",
    "mode": "read-only",
    "usage": "show fib p4",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show fib vpp",
    "description": "Show the routes this backend programmed into the VPP forwarding table.",
    "mode": "read-only",
    "usage": "show fib vpp",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show firewall domain-group",
    "description": "Show what each configured domain group's DNS names resolve to.",
    "long-help": "Lists each group with its names, the addresses Ze is enforcing for\nthem, when each name last resolved, and what the last answer said.\nRead this before a commit to confirm a group has data.",
    "mode": "read-only",
    "wire-method": "ze-show:firewall-domain-group-status",
    "args": [
      {
        "name": "name",
        "type": "string"
      }
    ],
    "usage": "show firewall domain-group [name <name>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "firewall",
        "kind": "keyword"
      },
      {
        "text": "domain-group",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show firewall group",
    "description": "Show members of a firewall address/port group.",
    "long-help": "Without arguments, lists all known groups. With a name,\nshows the set elements. Reads from the last applied config, not the\nkernel.",
    "mode": "read-only",
    "wire-method": "ze-show:firewall-group",
    "backend": [
      "nft"
    ],
    "usage": "show firewall group",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "firewall",
        "kind": "keyword"
      },
      {
        "text": "group",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show firewall irr",
    "description": "Show IRR filter status for all cached ASN/AS-SET entries.",
    "long-help": "Lists each cached entry with prefix counts, last\nrefresh time, and error status. Use this to confirm that IRR prefix-lists are\nloaded and current before committing firewall config.",
    "mode": "read-only",
    "wire-method": "ze-show:firewall-irr-status",
    "usage": "show firewall irr",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "firewall",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "prefix"
    ]
  },
  {
    "path": "show firewall irr prefix",
    "description": "Show IRR-resolved prefixes for a cached entry.",
    "long-help": "Lists all IPv4 and IPv6 prefixes in the cached\nprefix-list for the given ASN or AS-SET.",
    "mode": "read-only",
    "wire-method": "ze-show:firewall-irr-prefix",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show firewall irr prefix <name>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "firewall",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "prefix",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show firewall ruleset",
    "description": "Show the live firewall ruleset with per-term counters.",
    "long-help": "Joins applied desired state with kernel counters from\nthe nft backend.",
    "mode": "read-only",
    "wire-method": "ze-show:firewall-ruleset",
    "backend": [
      "nft"
    ],
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show firewall ruleset <name>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "firewall",
        "kind": "keyword"
      },
      {
        "text": "ruleset",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show flow export",
    "description": "Show flow export (NetFlow/IPFIX) collector status.",
    "long-help": "Without arguments, lists all configured collectors. With 'name <name>', shows\ndetails for that collector including protocol stats and errors. Returns\nnot-configured when no exporter is active.",
    "mode": "read-only",
    "wire-method": "ze-show:flow-export",
    "args": [
      {
        "name": "name",
        "type": "string"
      }
    ],
    "usage": "show flow export [name <name>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "flow",
        "kind": "keyword"
      },
      {
        "text": "export",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show flow recent",
    "description": "Show recent conntrack flow records from the bounded recent-flow ring.",
    "long-help": "Without arguments, returns every ring record (oldest to newest, up to the\nconfigured recent-flow-ring capacity). With 'dst <prefix>', filters to flows\nwhose destination is inside that prefix. The ring is fed only while conntrack\nexport is enabled; the filter is by destination prefix (conntrack is\nhost-global and carries no ingress interface).",
    "mode": "read-only",
    "wire-method": "ze-show:flow-recent",
    "args": [
      {
        "name": "dst",
        "type": "string"
      }
    ],
    "usage": "show flow recent [dst <dst>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "flow",
        "kind": "keyword"
      },
      {
        "text": "recent",
        "kind": "keyword"
      },
      {
        "text": "dst",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show geodns",
    "description": "Show the GeoDNS server status.",
    "long-help": "Returns whether the server is enabled, the bind addresses and\nport, and the client-IP source mode. It also returns the zones, the nameserver,\nhost-set and source counts, and the current SOA serial.",
    "mode": "read-only",
    "wire-method": "ze-show:geodns",
    "usage": "show geodns",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "geodns",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show gnmi",
    "description": "Show whether the gNMI server is running and how it is configured.",
    "long-help": "Returns listen address, TLS details, authentication mode, and the number of\nactive streaming subscribers.",
    "mode": "read-only",
    "wire-method": "ze-show:gnmi",
    "usage": "show gnmi",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "gnmi",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show health",
    "description": "Show the health of every component and the overall status of this box.",
    "long-help": "Returns per-component health (bgp, fib, iface, plugins, l2tp, etc.)\nplus an overall status. Each component reports healthy, degraded, or\nunhealthy with a reason. Start here when troubleshooting.\nThis runs a probe NOW and reports what the daemon is doing at this\nmoment. 'show plugin list' answers the other question, by replaying the setup\noutcome each plugin recorded once, before main(), when it set itself up.",
    "mode": "read-only",
    "wire-method": "ze-show:health",
    "usage": "show health",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "health",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show host",
    "description": "Hardware inventory for this box.",
    "long-help": "Sections: cpu, nic, dmi, memory, thermal, storage, kernel, platform. Use a\nsubcommand for one section, or 'show host all' for everything. The bare 'show\nhost' is an alias of 'show host all'.",
    "mode": "read-only",
    "wire-method": "ze-show:host-all",
    "usage": "show host",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "host",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "all",
      "cpu",
      "dmi",
      "kernel",
      "memory",
      "nic",
      "platform",
      "storage",
      "thermal"
    ]
  },
  {
    "path": "show host all",
    "description": "Show the full hardware inventory in one shot.",
    "long-help": "Returns every section (cpu, nic, dmi, memory, thermal, storage, kernel,\nplatform) as a single JSON response. Ideal for support bundles or automated\ninventory collection.",
    "mode": "read-only",
    "wire-method": "ze-show:host-all",
    "usage": "show host all",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "host",
        "kind": "keyword"
      },
      {
        "text": "all",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show host cpu",
    "description": "Show what CPUs are in this box.",
    "long-help": "Returns vendor, model, core/thread topology, hybrid layout, scaling driver,\ncurrent/min/max frequencies, and throttle counts.",
    "mode": "read-only",
    "wire-method": "ze-show:host-cpu",
    "usage": "show host cpu",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "host",
        "kind": "keyword"
      },
      {
        "text": "cpu",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show host dmi",
    "description": "Show the box's identity from SMBIOS/DMI.",
    "long-help": "Returns system vendor, board name, BIOS version, and chassis type. Useful for\ninventory or confirming which hardware model you are on.",
    "mode": "read-only",
    "wire-method": "ze-show:host-dmi",
    "usage": "show host dmi",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "host",
        "kind": "keyword"
      },
      {
        "text": "dmi",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show host kernel",
    "description": "Show the running kernel version and boot parameters.",
    "long-help": "Returns kernel release, command line, CPU microcode revision, boot time, and\nsecurity-relevant CPU flags (spectre mitigations, etc.).",
    "mode": "read-only",
    "wire-method": "ze-show:host-kernel",
    "usage": "show host kernel",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "host",
        "kind": "keyword"
      },
      {
        "text": "kernel",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show host memory",
    "description": "Show installed memory and ECC health.",
    "long-help": "Returns DIMM sizes and, when the edac driver is present, correctable and\nuncorrectable error counters. Non-zero ECC counts mean you should plan a DIMM\nreplacement.",
    "mode": "read-only",
    "wire-method": "ze-show:host-memory",
    "usage": "show host memory",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "host",
        "kind": "keyword"
      },
      {
        "text": "memory",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show host nic",
    "description": "Show physical NICs installed in this box.",
    "long-help": "Returns driver, PCI vendor/device IDs, link speed, queue counts, and firmware\nversion. Virtual interfaces are excluded. Use this to confirm NIC firmware\nbefore an upgrade.",
    "mode": "read-only",
    "wire-method": "ze-show:host-nic",
    "usage": "show host nic",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "host",
        "kind": "keyword"
      },
      {
        "text": "nic",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show host platform",
    "description": "Show platform capabilities and constraints.",
    "long-help": "Reports read-only root, privilege level, systemd presence, gokrazy update\nsocket, reboot-allowed flag, persistent-storage writability, and fd limits.\nHelps you understand what operations are possible on this particular\ndeployment.",
    "mode": "read-only",
    "wire-method": "ze-show:host-platform",
    "usage": "show host platform",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "host",
        "kind": "keyword"
      },
      {
        "text": "platform",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show host storage",
    "description": "Show storage devices attached to this box.",
    "long-help": "Returns size, model, transport type (nvme, sata, mmc, virtio), rotational\nflag, and NVMe firmware version where applicable.",
    "mode": "read-only",
    "wire-method": "ze-show:host-storage",
    "usage": "show host storage",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "host",
        "kind": "keyword"
      },
      {
        "text": "storage",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show host thermal",
    "description": "Show temperature sensors and thermal throttle events.",
    "long-help": "Returns hwmon sensor readings and per-CPU throttle counters. Non-zero throttle\ncounts mean the box has been running hot enough to slow down.",
    "mode": "read-only",
    "wire-method": "ze-show:host-thermal",
    "usage": "show host thermal",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "host",
        "kind": "keyword"
      },
      {
        "text": "thermal",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show interface",
    "description": "Show network interfaces on this box.",
    "long-help": "Without arguments, returns all interfaces with full detail.\nSubcommands: brief, type <t>, errors, rate [<name>], name <name> detail,\nname <name> counters.",
    "mode": "read-only",
    "wire-method": "ze-show:interface",
    "usage": "show interface",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "brief",
      "errors",
      "name",
      "rate",
      "scan",
      "type"
    ]
  },
  {
    "path": "show interface brief",
    "description": "One-line summary per interface: name, state, IP, and MTU.",
    "long-help": "It is the quick way to see what is up and what\naddresses are assigned.",
    "mode": "read-only",
    "wire-method": "ze-show:interface-brief",
    "usage": "show interface brief",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "brief",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show interface errors",
    "description": "Show interfaces that have errors or drops.",
    "long-help": "Filters to only interfaces with non-zero Rx/Tx error or\ndrop counters. It is the quick way to find troubled links.",
    "mode": "read-only",
    "wire-method": "ze-show:interface-errors",
    "usage": "show interface errors",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "errors",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show interface name counters",
    "description": "Show counters for one interface.",
    "long-help": "The answer is the interface name and its Rx and Tx statistics.\nA backend that keeps no statistics for the interface answers no counters available rather\nthan an error.",
    "mode": "read-only",
    "wire-method": "ze-show:interface-counters",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show interface name <name> counters",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "counters",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show interface name detail",
    "description": "Show full detail for one interface.",
    "long-help": "The answer is the whole record the backend holds for that\ninterface, and the counters are part of it. An unknown name is reported as the backend's own\nerror.",
    "mode": "read-only",
    "wire-method": "ze-show:interface-detail",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show interface name <name> detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show interface rate",
    "description": "Show per-second traffic rates on your interfaces.",
    "long-help": "Returns rx/tx bytes and packets per second. Pass an\ninterface name to narrow the output. Requires the rate tracker. For continuous\nmonitoring, use 'monitor interface rate' instead.",
    "mode": "read-only",
    "wire-method": "ze-show:interface-rate",
    "usage": "show interface rate",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "rate",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show interface scan",
    "description": "Discover and classify all OS interfaces.",
    "long-help": "Returns name, Ze type (ethernet, bridge, vxlan, etc.),\nand MAC for each interface found. Pipe to table, yaml, or json for different\nviews. Use it during initial setup to see what the box has.",
    "mode": "read-only",
    "wire-method": "ze-show:interface-scan",
    "usage": "show interface scan",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "scan",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show interface type",
    "description": "Show only interfaces of a given type.",
    "long-help": "Types include ethernet, bridge, vxlan, wireguard,\ntunnel, bond, and more. If you pick an invalid type, the error lists all valid\nones.",
    "mode": "read-only",
    "wire-method": "ze-show:interface-type",
    "args": [
      {
        "name": "type",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show interface type <type>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "type",
        "kind": "keyword"
      },
      {
        "text": "type",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show isis database",
    "description": "Show the IS-IS link-state database.",
    "long-help": "Lists each LSP with its LSP ID, sequence number, remaining lifetime, checksum,\nand overload bit, across Level-1 and Level-2. The own field is true on the\nLSPs this node originated and false on the LSPs it learned from a neighbor.",
    "mode": "read-only",
    "wire-method": "ze-show:isis-database",
    "usage": "show isis database",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "isis",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "detail"
    ]
  },
  {
    "path": "show isis database detail",
    "description": "Show the IS-IS link-state database with TLV detail.",
    "long-help": "Expands each LSP into its decoded TLVs (type, length, value) so you can read\nexactly what each node advertises. It carries the same fields as the summary\nview, the own field included.",
    "mode": "read-only",
    "wire-method": "ze-show:isis-database-detail",
    "usage": "show isis database detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "isis",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show isis hostname",
    "description": "Show the IS-IS dynamic-hostname mapping (RFC 5301).",
    "long-help": "Maps each System ID to the hostname it advertises in TLV 137.",
    "mode": "read-only",
    "wire-method": "ze-show:isis-hostname",
    "usage": "show isis hostname",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "isis",
        "kind": "keyword"
      },
      {
        "text": "hostname",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show isis interface",
    "description": "Show IS-IS-enabled circuits.",
    "long-help": "Returns level, circuit type, metric, hello interval, hold multiplier, passive\nflag, DIS state, and the count of Up adjacencies per circuit.",
    "mode": "read-only",
    "wire-method": "ze-show:isis-interface",
    "usage": "show isis interface",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "isis",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show isis neighbor",
    "description": "Show IS-IS adjacencies.",
    "long-help": "Returns the neighbor System ID, interface, level, adjacency state, and hold\ntime for each IS-IS neighbor.",
    "mode": "read-only",
    "wire-method": "ze-show:isis-neighbor",
    "usage": "show isis neighbor",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "isis",
        "kind": "keyword"
      },
      {
        "text": "neighbor",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show isis route",
    "description": "Show IS-IS-computed routes.",
    "long-help": "Lists each prefix the SPF installed with its metric, level, up/down bit, and\nnext-hops (address and outgoing interface).",
    "mode": "read-only",
    "wire-method": "ze-show:isis-route",
    "usage": "show isis route",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "isis",
        "kind": "keyword"
      },
      {
        "text": "route",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "ipv6"
    ]
  },
  {
    "path": "show isis route ipv6",
    "description": "Show IS-IS-computed IPv6 routes (RFC 5308).",
    "long-help": "Lists each IPv6 prefix the SPF installed with its metric, level, and next-hops\n(link-local address and outgoing interface).",
    "mode": "read-only",
    "wire-method": "ze-show:isis-route-ipv6",
    "usage": "show isis route ipv6",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "isis",
        "kind": "keyword"
      },
      {
        "text": "route",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show isis spf-log",
    "description": "Show recent IS-IS SPF runs.",
    "long-help": "Returns the most recent SPF runs with their timestamp, level, trigger,\nduration, and node count.",
    "mode": "read-only",
    "wire-method": "ze-show:isis-spf-log",
    "usage": "show isis spf-log",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "isis",
        "kind": "keyword"
      },
      {
        "text": "spf-log",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp",
    "description": "L2TP tunnel, session, and subscriber state.",
    "long-help": "Without a subcommand, shows a summary of tunnels and\nsessions.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:summary",
    "usage": "show l2tp",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "config",
      "cqm",
      "echo",
      "health",
      "listeners",
      "observer",
      "reliable",
      "session",
      "sessions",
      "statistics",
      "tunnel",
      "tunnels"
    ]
  },
  {
    "path": "show l2tp config",
    "description": "Show the resolved L2TP configuration.",
    "long-help": "Returns the effective config after defaults and\noverrides. Confirms what the daemon uses.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:config",
    "usage": "show l2tp config",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "config",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp cqm",
    "description": "Show subscriber line quality (CQM latency buckets).",
    "long-help": "Pass a login name for one subscriber or 'summary' for\nan overview. Use it to diagnose a poor subscriber experience.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:cqm",
    "usage": "show l2tp cqm",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "cqm",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp echo",
    "description": "Show LCP echo health for a subscriber session.",
    "long-help": "Returns echo request and reply counters and round-trip\ntimes. Rising loss or high RTT indicates a degraded line.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:echo",
    "usage": "show l2tp echo",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "echo",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp health",
    "description": "Find your worst L2TP sessions at a glance.",
    "long-help": "Sorts sessions by echo loss ratio (worst first). Shows\nsubscriber login, session state, echo count, average RTT, and CQM bucket count.\nReports how many sessions are degraded.",
    "mode": "read-only",
    "wire-method": "ze-show:l2tp-health",
    "usage": "show l2tp health",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "health",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp listeners",
    "description": "Show which UDP sockets are listening for L2TP.",
    "long-help": "Lists each bound address, port, and the number of\ntunnels on it.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:listeners",
    "usage": "show l2tp listeners",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "listeners",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp observer",
    "description": "Show recent events for a session (debug aid).",
    "long-help": "Returns the event ring buffer for one session ID or\n'all'. Use it to find why a session failed to establish.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:observer",
    "usage": "show l2tp observer",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "observer",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp pool",
    "description": "Show the IPv4 and IPv6 subscriber address pools and what each has allocated.",
    "mode": "read-only",
    "usage": "show l2tp pool",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp reliable",
    "description": "Show the reliable transport window for a tunnel.",
    "long-help": "Returns send and receive sequence numbers, window size,\nand retransmit queue depth. Check here when tunnel control messages stop\nmoving.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:reliable",
    "usage": "show l2tp reliable",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "reliable",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp session history",
    "description": "Show state transitions for a session over time.",
    "long-help": "Timestamped FSM entries for session establishment.\nUse this when a subscriber's session fails to come up.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:session-history",
    "usage": "show l2tp session history",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "session",
        "kind": "keyword"
      },
      {
        "text": "history",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp session id",
    "description": "Show full detail for one L2TP session.",
    "long-help": "Pass the local session ID. Returns PPP state,\nassigned addresses, negotiated LCP/NCP options, and traffic counters.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:session",
    "args": [
      {
        "name": "id",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show l2tp session id <id>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "session",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp session traffic",
    "description": "Show traffic counters for a subscriber's PPP interface.",
    "long-help": "Returns byte and packet counts, error counters, and\ncurrent rates. Compare with CQM data to get the full picture of subscriber\nhealth.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:session-traffic",
    "usage": "show l2tp session traffic",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "session",
        "kind": "keyword"
      },
      {
        "text": "traffic",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp sessions",
    "description": "List all active L2TP sessions.",
    "long-help": "One line per session: local/remote ID, parent tunnel,\nsubscriber login, and uptime.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:sessions",
    "usage": "show l2tp sessions",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "sessions",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp shaper",
    "description": "Show each shaped subscriber session with its download and upload rate.",
    "mode": "read-only",
    "usage": "show l2tp shaper",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp statistics",
    "description": "Show aggregate L2TP protocol counters.",
    "long-help": "Tunnels and sessions established, control messages\nsent and received, retransmits, and errors. It is the first command to run for\nL2TP health.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:statistics",
    "usage": "show l2tp statistics",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "statistics",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp tunnel history",
    "description": "Show state transitions for a tunnel over time.",
    "long-help": "Timestamped FSM entries showing how the tunnel\nreached its current state. Use this to diagnose a tunnel establishment\nfailure.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:tunnel-history",
    "usage": "show l2tp tunnel history",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "tunnel",
        "kind": "keyword"
      },
      {
        "text": "history",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp tunnel id",
    "description": "Show full detail for one L2TP tunnel.",
    "long-help": "Pass the local tunnel ID. Returns control channel\nstate, peer endpoint, hello interval, and all assigned sessions.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:tunnel",
    "args": [
      {
        "name": "id",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show l2tp tunnel id <id>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "tunnel",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show l2tp tunnels",
    "description": "List all active L2TP tunnels.",
    "long-help": "One line per tunnel: local/remote ID, peer address,\nsession count, and uptime.",
    "mode": "read-only",
    "wire-method": "ze-l2tp-api:tunnels",
    "usage": "show l2tp tunnels",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "l2tp",
        "kind": "keyword"
      },
      {
        "text": "tunnels",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ldp binding",
    "description": "Show LDP FEC-to-label bindings.",
    "long-help": "Lists local and remote label bindings for each FEC (prefix). Use this to\nverify label distribution is working.",
    "mode": "read-only",
    "wire-method": "ze-show:ldp-binding",
    "usage": "show ldp binding",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ldp",
        "kind": "keyword"
      },
      {
        "text": "binding",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ldp neighbor",
    "description": "Show LDP neighbors and their session state.",
    "long-help": "Returns peer address, transport address, session state, and hold time for each\nLDP neighbor.",
    "mode": "read-only",
    "wire-method": "ze-show:ldp-neighbor",
    "usage": "show ldp neighbor",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ldp",
        "kind": "keyword"
      },
      {
        "text": "neighbor",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show log levels",
    "description": "Show what log level each subsystem is using.",
    "long-help": "Lists every registered logger with its current level. Use 'request log level'\nto change a level at runtime without restarting.",
    "mode": "read-only",
    "wire-method": "ze-bgp:log-levels",
    "usage": "show log levels",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "log",
        "kind": "keyword"
      },
      {
        "text": "levels",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show log recent",
    "description": "Show recent log entries from the in-memory ring.",
    "long-help": "Filters (all optional): level <lvl>, component <name>, count <N>. Newest\nentries first. Useful when you cannot access the log file directly.",
    "mode": "read-only",
    "wire-method": "ze-bgp:log-recent",
    "args": [
      {
        "name": "level",
        "type": "enum",
        "values": [
          "disabled",
          "debug",
          "info",
          "warn",
          "err"
        ]
      },
      {
        "name": "component",
        "type": "string"
      },
      {
        "name": "count",
        "type": "uint"
      }
    ],
    "usage": "show log recent [level <disabled|debug|info|warn|err>] [component <component>] [count <count>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "log",
        "kind": "keyword"
      },
      {
        "text": "recent",
        "kind": "keyword"
      },
      {
        "text": "level",
        "values": [
          "disabled",
          "debug",
          "info",
          "warn",
          "err"
        ],
        "kind": "option"
      },
      {
        "text": "component",
        "kind": "option"
      },
      {
        "text": "count",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show metrics list",
    "description": "List all registered metric names (no values).",
    "long-help": "Useful for discovering what metrics exist before querying them.",
    "mode": "read-only",
    "wire-method": "ze-bgp:metrics-list",
    "usage": "show metrics list",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "metrics",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show metrics name",
    "description": "Show one Prometheus metric by name.",
    "long-help": "Returns matching time series from the internal registry. Multiple label\nfilters are ANDed. More targeted than the full metrics dump.",
    "mode": "read-only",
    "wire-method": "ze-show:metrics-query",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show metrics name <name> [label <key> <value> ...]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "metrics",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "label",
        "group": [
          {
            "text": "key",
            "kind": "value"
          },
          {
            "text": "value",
            "kind": "value"
          }
        ],
        "kind": "group-repeat"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "label"
    ]
  },
  {
    "path": "show metrics pool",
    "description": "Show attribute pool memory usage and dedup efficiency.",
    "long-help": "Returns allocated entries, reference counts, and deduplication hit\nrates per attribute type. Watch the dedup rate to gauge how much\nmemory pooling is saving you.",
    "mode": "read-only",
    "wire-method": "ze-bgp:pool-stats",
    "usage": "show metrics pool",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "metrics",
        "kind": "keyword"
      },
      {
        "text": "pool",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show metrics values",
    "description": "Dump all metrics in Prometheus text format.",
    "long-help": "Outputs every registered metric with labels and values. Suitable\nfor feeding into Prometheus, Grafana, or curl-based monitoring.",
    "mode": "read-only",
    "wire-method": "ze-bgp:metrics-values",
    "usage": "show metrics values",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "metrics",
        "kind": "keyword"
      },
      {
        "text": "values",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show mpls forwarding",
    "description": "Show MPLS forwarding entries installed in the kernel.",
    "long-help": "Each entry shows the incoming label, swap/push/pop operation, and outgoing\nnext-hop. Pass 'limit N' to cap large tables. Linux only.",
    "mode": "read-only",
    "wire-method": "ze-show:mpls-forwarding",
    "args": [
      {
        "name": "limit",
        "type": "uint"
      }
    ],
    "usage": "show mpls forwarding [limit <limit>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "mpls",
        "kind": "keyword"
      },
      {
        "text": "forwarding",
        "kind": "keyword"
      },
      {
        "text": "limit",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show neighbor",
    "description": "Show the ARP and neighbor discovery table.",
    "long-help": "Lists IPv4 ARP and IPv6 ND entries with MAC addresses and\nstates. Pass ipv4 or ipv6 to filter by address family. No argument shows both.\nFor the IPv4-only view, 'show arp' is a shortcut.",
    "mode": "read-only",
    "wire-method": "ze-show:neighbor",
    "args": [
      {
        "name": "family",
        "type": "enum",
        "values": [
          "ipv4",
          "ipv6",
          "any",
          "all"
        ]
      }
    ],
    "usage": "show neighbor [family <ipv4|ipv6|any|all>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "neighbor",
        "kind": "keyword"
      },
      {
        "text": "family",
        "values": [
          "ipv4",
          "ipv6",
          "any",
          "all"
        ],
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show nexthop-table",
    "description": "Show each next hop the resolver tracks and the direct next hop it resolves to.",
    "mode": "read-only",
    "usage": "show nexthop-table",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf",
    "description": "Show the OSPFv2 process summary (RFC 2328).",
    "long-help": "Returns the router-id, the areas, the ABR and ASBR status, and the\nstub-router (max-metric) state.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf",
    "usage": "show ospf",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "border-routers",
      "database",
      "graceful-restart",
      "instance",
      "interface",
      "ipv6",
      "ldp-sync",
      "neighbor",
      "route",
      "segment-routing",
      "spf",
      "te-database",
      "virtual-links"
    ]
  },
  {
    "path": "show ospf border-routers",
    "description": "Show routes to OSPF area-border and AS-boundary routers.",
    "long-help": "Lists each reachable ABR/ASBR with its router-id, cost, next-hops, and area.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-border-routers",
    "usage": "show ospf border-routers",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "border-routers",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf database",
    "description": "Show the OSPF link-state database.",
    "long-help": "Lists each LSA with its LS Type, Link State ID, Advertising Router, sequence\nnumber, age, and checksum.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database",
    "usage": "show ospf database",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "asbr-summary",
      "external",
      "network",
      "nssa-external",
      "opaque-area",
      "opaque-as",
      "opaque-link",
      "router",
      "router-information",
      "summary"
    ]
  },
  {
    "path": "show ospf database asbr-summary",
    "description": "Show only ASBR-Summary-LSAs (Type 4).",
    "long-help": "RFC 2328 Section 12.4.3 states that a Type 4 Summary-LSA describes a route\nto an AS boundary router. A Type 3 describes a route to a network instead.\nBoth come from an area border router, and both are flooded through one area.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-asbr-summary",
    "usage": "show ospf database asbr-summary",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "asbr-summary",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf database external",
    "description": "Show only AS-external-LSAs (Type 5).",
    "long-help": "RFC 2328 Section 12.4.4 states that an AS boundary router originates an\nAS-external-LSA. The LSA describes a route to a destination in another\nAutonomous System, and it is flooded throughout the AS. Ze reads the AS-wide\nstore for it, so no area appears in the answer.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-external",
    "usage": "show ospf database external",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "external",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf database network",
    "description": "Show only Network-LSAs (Type 2).",
    "long-help": "RFC 2328 Section 12.4.2 states that the Designated Router originates a\nNetwork-LSA for a broadcast or NBMA network. The LSA lists the routers\nconnected to that network. It is flooded throughout a single area only. A\npoint-to-point link has no Designated Router, so it produces none.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-network",
    "usage": "show ospf database network",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "network",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf database nssa-external",
    "description": "Show only NSSA-external-LSAs (Type 7, RFC 3101).",
    "long-help": "RFC 3101 Section 2.3 states that a Type 7 LSA is advertised only within a\nsingle NSSA. A border router does not flood it into the backbone. It\ntranslates selected Type 7 LSAs into Type 5 instead, so a translated route\nappears under the AS-external view and not here.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-nssa-external",
    "usage": "show ospf database nssa-external",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "nssa-external",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf database opaque-area",
    "description": "Show only area-scope opaque-LSAs (Type 10, RFC 5250).",
    "long-help": "RFC 5250 Section 3 gives link-state type-10 an area-local scope: a\ntype-10 opaque LSA is not flooded beyond the borders of its area.\nSo this view is per area, and an area border router does not carry\nwhat it lists into the backbone.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-opaque-area",
    "usage": "show ospf database opaque-area",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "opaque-area",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "detail"
    ]
  },
  {
    "path": "show ospf database opaque-area detail",
    "description": "Decode each area-scope opaque LSA body (RFC 5250).",
    "long-help": "A body with a typed decoder returns its TLVs, which are TE,\nRouter-Information, Extended and Segment-Routing. Every other body returns a\ngeneric type, length and hex view (spec-ospf-ext-14).",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-opaque-area-detail",
    "usage": "show ospf database opaque-area detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "opaque-area",
        "kind": "keyword"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf database opaque-as",
    "description": "Show only AS-scope opaque-LSAs (Type 11, RFC 5250).",
    "long-help": "RFC 5250 Section 3 floods link-state type-11 throughout the\nautonomous system. It takes the scope of an AS-external (type-5)\nLSA. A type-11 opaque LSA reaches every transit area. It is not\nflooded into a stub area or an NSSA. A router does not originate\none into a connected stub area or NSSA. One received from a\nneighbor inside such an area is rejected.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-opaque-as",
    "usage": "show ospf database opaque-as",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "opaque-as",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "detail"
    ]
  },
  {
    "path": "show ospf database opaque-as detail",
    "description": "Decode each AS-scope opaque LSA body (RFC 5250).",
    "long-help": "A body with a typed decoder returns its TLVs, which are TE,\nRouter-Information, Extended and Segment-Routing. Every other body returns a\ngeneric type, length and hex view (spec-ospf-ext-14).",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-opaque-as-detail",
    "usage": "show ospf database opaque-as detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "opaque-as",
        "kind": "keyword"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf database opaque-link",
    "description": "Show only link-local opaque-LSAs (Type 9, RFC 5250).",
    "long-help": "RFC 5250 Section 3 gives link-state type-9 a link-local scope. A\ntype-9 opaque LSA is not flooded beyond the local subnetwork. This\nview is therefore per link. No other link holds an LSA listed here,\nand no router past the local segment holds one.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-opaque-link",
    "usage": "show ospf database opaque-link",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "opaque-link",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "detail"
    ]
  },
  {
    "path": "show ospf database opaque-link detail",
    "description": "Decode each link-local opaque LSA body (RFC 5250).",
    "long-help": "A body with a typed decoder returns its TLVs, which are TE,\nRouter-Information, Extended and Segment-Routing. Every other body returns a\ngeneric type, length and hex view (spec-ospf-ext-14).",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-opaque-link-detail",
    "usage": "show ospf database opaque-link detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "opaque-link",
        "kind": "keyword"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf database router",
    "description": "Show only Router-LSAs (Type 1).",
    "long-help": "RFC 2328 Section 12.4.1 states that every router originates a Router-LSA.\nThe LSA describes the collected states of the router's interfaces to one area.\nIt is flooded throughout a single area only, and Ze reads the per-area store\nfor it.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-router",
    "usage": "show ospf database router",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "router",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf database router-information",
    "description": "Show the Router Information LSAs (RFC 7770) for both address families.",
    "long-help": "OSPFv2 opaque type 4 and OSPFv3 function code 12, decoded into the\nadvertised informational capability bits and the TLV list.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-router-information",
    "usage": "show ospf database router-information",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "router-information",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf database summary",
    "description": "Show only Summary-LSAs (Type 3, inter-area network).",
    "long-help": "RFC 2328 Section 12.4.3 states that an area border router originates a\nSummary-LSA. A Type 3 Summary-LSA describes a route to a network outside the\narea and inside the AS. Ze reads the per-area store for it.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-database-summary",
    "usage": "show ospf database summary",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "summary",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf graceful-restart",
    "description": "Show OSPFv2 (IPv4) Graceful Restart state (RFC 3623).",
    "long-help": "The restarter state (in-restart or not, grace end, reason) and the\nper-neighbor helper sessions (which neighbors are being helped and their\nremaining grace).",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-graceful-restart",
    "usage": "show ospf graceful-restart",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "graceful-restart",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf instance",
    "description": "Show the configured OSPFv2 instances (RFC 6549 Multi-Instance).",
    "long-help": "Lists each Instance ID with its router-id and the size of its isolated area,\ninterface, neighbor, and link-state database state.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-instance",
    "usage": "show ospf instance",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "instance",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf interface",
    "description": "Show OSPF-enabled interfaces.",
    "long-help": "Returns area, network-type, cost, ISM state, DR/BDR, hello/dead intervals,\npriority, and passive flag per interface.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-interface",
    "usage": "show ospf interface",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "detail"
    ]
  },
  {
    "path": "show ospf interface detail",
    "description": "Show the full per-interface state (spec-ospf-ext-14).",
    "long-help": "Returns the ISM state, the DR and BDR election detail, all three\ntimers, and the opaque-capable neighbor count.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-interface-detail",
    "usage": "show ospf interface detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6",
    "description": "Show the OSPFv3 (IPv6) address-family instances (RFC 5838).",
    "long-help": "Lists each configured address family (ipv6-unicast, ipv6-multicast,\nipv4-unicast, ipv4-multicast) with its Instance ID, router-id, and\nneighbor/interface counts, so multiple AF instances on a link are\ndistinguishable.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-ipv6",
    "usage": "show ospf ipv6",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "database",
      "graceful-restart",
      "instance",
      "interface",
      "neighbor",
      "segment-routing",
      "spf"
    ]
  },
  {
    "path": "show ospf ipv6 database",
    "description": "Show the OSPFv3 (IPv6) link-state database with each native scope-aware LSA decoded (RFC 5340).",
    "long-help": "Base types decode into named fields; unknown function codes fall back to a\nscope-aware header + body-hex view (spec-ospf-ext-14).",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-database",
    "usage": "show ospf ipv6 database",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "detail",
      "extended",
      "router",
      "router-information",
      "scope",
      "segment-routing"
    ]
  },
  {
    "path": "show ospf ipv6 database detail",
    "description": "Decode every OSPFv3 LSA body with its scope-aware header (RFC 5340 section A.4.2.1).",
    "long-help": "The parent command decodes the base types only. This form decodes\nevery LSA body. An unknown function code then arrives as a scope-aware header\nbeside its body hex, rather than as a named record.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-database-detail",
    "usage": "show ospf ipv6 database detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 database extended",
    "description": "Show the extended OSPFv3 LSAs (RFC 8362).",
    "long-help": "Covers E-Router, E-Network, E-Inter-Area, E-AS-External, E-Link and\nE-Intra-Area-Prefix. Each LSA decodes into named TLVs.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-database-extended",
    "usage": "show ospf ipv6 database extended",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "extended",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 database router detail",
    "description": "Decode each OSPFv3 Router-LSA body.",
    "long-help": "Each body decodes into its interface records: the type, the metric, the\nInterface ID, the neighbor Interface ID and the neighbor Router ID. RFC 5340\nSection 2.2 states that a Router-LSA no longer contains a network address and\nexpresses topology only.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-database-router-detail",
    "usage": "show ospf ipv6 database router detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "router",
        "kind": "keyword"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 database router-information",
    "description": "Show the OSPFv3 Router Information LSAs (RFC 7770).",
    "long-help": "The LSA carries function code 12. Each one decodes into its\ncapability bits and its TLVs.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-database-router-information",
    "usage": "show ospf ipv6 database router-information",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "router-information",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 database scope area",
    "description": "Show only area-scope (S2/S1 = 01) LSAs.",
    "long-help": "RFC 5340 Section 2.3 gives area scope to the router-LSA, the network-LSA,\nthe inter-area-prefix-LSA, the inter-area-router-LSA and the\nintra-area-prefix-LSA. Ze reads the per-area store for them.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-database-scope-area",
    "usage": "show ospf ipv6 database scope area",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "scope",
        "kind": "keyword"
      },
      {
        "text": "area",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 database scope as",
    "description": "Show only AS-scope (S2/S1 = 10) LSAs.",
    "long-help": "RFC 5340 Section 2.3 states that an AS-scope LSA is flooded throughout the\nrouting domain, and that a router which originates one is an AS Boundary\nRouter. Ze reads the AS-wide store for it, and no area appears in the answer.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-database-scope-as",
    "usage": "show ospf ipv6 database scope as",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "scope",
        "kind": "keyword"
      },
      {
        "text": "as",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 database scope link",
    "description": "Show only link-local (S2/S1 = 00) LSAs, including the per-interface Link-LSA store.",
    "long-help": "Ze reads the per-interface Link-LSA store as well as the area store, so a\nLink-LSA appears here beside its interface. RFC 5340 Section 2.3 states that a\nlink-local LSA is flooded on the local link and no further.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-database-scope-link",
    "usage": "show ospf ipv6 database scope link",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "scope",
        "kind": "keyword"
      },
      {
        "text": "link",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 database segment-routing",
    "description": "Summarise the OSPFv3 Segment Routing content (RFC 8666) carried in the RI and extended LSAs.",
    "long-help": "This is a summary rather than a decode. The Segment Routing content lives in\nthe Router Information LSA and in the extended LSAs, and the two commands\nabove decode those LSAs in full.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-database-segment-routing",
    "usage": "show ospf ipv6 database segment-routing",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "database",
        "kind": "keyword"
      },
      {
        "text": "segment-routing",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 graceful-restart",
    "description": "Show OSPFv3 (IPv6) Graceful Restart state (RFC 5187).",
    "long-help": "The restarter state (in-restart or not, grace end, reason) and the\nper-neighbor helper sessions (which neighbors are being helped and their\nremaining grace).",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-ipv6-graceful-restart",
    "usage": "show ospf ipv6 graceful-restart",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "graceful-restart",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 instance",
    "description": "Enumerate the active OSPFv3 address-family instances (RFC 5838 section 2).",
    "long-help": "Each instance carries its address family, its Instance ID, its area\ncount, and its neighbor count.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-instance",
    "usage": "show ospf ipv6 instance",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "instance",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 interface",
    "description": "Show OSPFv3 (IPv6-family) interfaces and their RFC 4552 IPsec status.",
    "long-help": "Returns per interface whether IPsec is configured, the protocol (ah/esp) and\nSPI, and whether the kernel SA is installed. The key is never shown.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-ipv6-interface",
    "usage": "show ospf ipv6 interface",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "detail"
    ]
  },
  {
    "path": "show ospf ipv6 interface detail",
    "description": "Show the full per-interface OSPFv3 state (spec-ospf-ext-14).",
    "long-help": "Returns the ISM state, the DR and BDR by Router ID, the timers, the\nlocal Interface ID, and the Instance ID.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-interface-detail",
    "usage": "show ospf ipv6 interface detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 neighbor",
    "description": "Show the OSPFv3 (IPv6) neighbors.",
    "long-help": "Each neighbor carries the link-local address as its identity, the\nadjacency state, the DR and BDR by Router ID, and the dead time.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-neighbor",
    "usage": "show ospf ipv6 neighbor",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "neighbor",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "detail"
    ]
  },
  {
    "path": "show ospf ipv6 neighbor detail",
    "description": "Show the full per-neighbor OSPFv3 state (spec-ospf-ext-14).",
    "long-help": "Returns the advertised Interface ID, the DD sequence, the decoded\nOptions (R/V6/E/N/AF), the list sizes, the last NSM event, and the timers.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-neighbor-detail",
    "usage": "show ospf ipv6 neighbor detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "neighbor",
        "kind": "keyword"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 segment-routing",
    "description": "Show OSPFv3 (IPv6) Segment Routing state (RFC 8666).",
    "long-help": "The configured SRGB/SRLB label ranges, the advertised SR-Algorithm,\nthis node's node Prefix-SIDs, and the Adjacency-SIDs allocated per adjacency.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-ipv6-segment-routing",
    "usage": "show ospf ipv6 segment-routing",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "segment-routing",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ipv6 spf",
    "description": "Show the OSPFv3 (IPv6) per-area SPF run history.",
    "long-help": "The history is read from the IPv6 unicast engine alone. Another\naddress family is not covered here. A router that runs no OSPFv3\nengine answers an empty list rather than an error. That reads the\nsame as a router whose engine has run no SPF yet.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-spf",
    "usage": "show ospf ipv6 spf",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "spf",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "detail"
    ]
  },
  {
    "path": "show ospf ipv6 spf detail",
    "description": "Explain why each OSPFv3 route won (spec-ospf-ext-14), AF/Instance-ID tagged.",
    "long-help": "The command is read-only.",
    "mode": "read-only",
    "wire-method": "ze-show:ospfv3-spf-detail",
    "usage": "show ospf ipv6 spf detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ipv6",
        "kind": "keyword"
      },
      {
        "text": "spf",
        "kind": "keyword"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf ldp-sync",
    "description": "Show OSPF LDP-IGP synchronization state (RFC 5443, RFC 6138).",
    "long-help": "Lists each ldp-sync interface with its state (not-synchronized / hold-down /\nsynchronized), remaining hold-down, effective metric, and whether it is stuck\nnot-synchronized after having been synchronized.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-ldp-sync",
    "usage": "show ospf ldp-sync",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "ldp-sync",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf neighbor",
    "description": "Show OSPF neighbors.",
    "long-help": "Returns each neighbor's router-id, interface, adjacency state, DR/BDR,\npriority, dead time, and address.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-neighbor",
    "usage": "show ospf neighbor",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "neighbor",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "detail"
    ]
  },
  {
    "path": "show ospf neighbor detail",
    "description": "Show the full per-neighbor state (spec-ospf-ext-14).",
    "long-help": "Returns the DD sequence, the decoded Options including the RFC 5250\nO-bit, the request and summary list sizes, the last NSM event, and the\ntimers.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-neighbor-detail",
    "usage": "show ospf neighbor detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "neighbor",
        "kind": "keyword"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf route",
    "description": "Show OSPF-computed routes.",
    "long-help": "Lists each prefix with its path type (intra/inter/external-1/2), cost,\nnext-hops, and area.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-route",
    "usage": "show ospf route",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "route",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "fast-reroute"
    ]
  },
  {
    "path": "show ospf route fast-reroute",
    "description": "Show OSPF fast-reroute (LFA / TI-LFA) backups (RFC 5286).",
    "long-help": "Lists each prefix's primary next-hops with their pre-computed loop-free\nbackup, protection class (node/link/downstream), and TI-LFA repair label\nstack. Unprotected primaries are shown as unprotected.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-route-fast-reroute",
    "usage": "show ospf route fast-reroute",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "route",
        "kind": "keyword"
      },
      {
        "text": "fast-reroute",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf segment-routing",
    "description": "Show OSPFv2 (IPv4) Segment Routing state (RFC 8665).",
    "long-help": "The configured SRGB/SRLB label ranges, the advertised SR-Algorithm,\nthis node's node Prefix-SIDs, and the Adjacency-SIDs allocated per adjacency.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-segment-routing",
    "usage": "show ospf segment-routing",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "segment-routing",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf spf",
    "description": "Show recent OSPF SPF runs.",
    "long-help": "Returns the most recent per-area SPF runs with their timestamp, duration, node\ncount, and pending state.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-spf",
    "usage": "show ospf spf",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "spf",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "detail"
    ]
  },
  {
    "path": "show ospf spf detail",
    "description": "Explain why each route won the SPF calculation (spec-ospf-ext-14).",
    "long-help": "Returns the candidate paths considered for each prefix, the winning\ncost, and the RFC 2328 section 16.4 path-preference tie-break. The command is\nread-only, so the route table and the SPF run count do not change.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-spf-detail",
    "usage": "show ospf spf detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "spf",
        "kind": "keyword"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf te-database",
    "description": "Show the OSPF Traffic Engineering Database (RFC 3630 / RFC 5392).",
    "long-help": "Router addresses plus TE links with their Link ID, local/remote address,\nlink type, TE metric, bandwidths, admin group, and (for inter-AS links) remote\nAS and remote ASBR.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-te-database",
    "usage": "show ospf te-database",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "te-database",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ospf virtual-links",
    "description": "Show OSPF virtual links (RFC 2328 section 15).",
    "long-help": "Lists each configured virtual link with its transit area, remote router-id,\nadjacency state, computed cost, and transit next hop.",
    "mode": "read-only",
    "wire-method": "ze-show:ospf-virtual-links",
    "usage": "show ospf virtual-links",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ospf",
        "kind": "keyword"
      },
      {
        "text": "virtual-links",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show ping",
    "description": "Ping a target from the router itself.",
    "long-help": "Sends ICMP echo requests to <dest> (IP or hostname). Default count is 5.\nTimeout uses Go duration syntax (e.g. 3s, 500ms). Confirms reachability from\nthis box, not from your workstation.",
    "mode": "read-only",
    "wire-method": "ze-show:ping",
    "args": [
      {
        "name": "dest",
        "type": "string"
      },
      {
        "name": "count",
        "type": "uint"
      },
      {
        "name": "size",
        "type": "uint"
      },
      {
        "name": "timeout",
        "type": "string"
      }
    ],
    "usage": "show ping [dest <dest>] [count <count>] [size <size>] [timeout <timeout>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "ping",
        "kind": "keyword"
      },
      {
        "text": "dest",
        "kind": "option"
      },
      {
        "text": "count",
        "kind": "option"
      },
      {
        "text": "size",
        "kind": "option"
      },
      {
        "text": "timeout",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show pki certificate name",
    "description": "Inspect a specific certificate in detail.",
    "long-help": "Each export form is a command of its own.",
    "mode": "read-only",
    "wire-method": "ze-show:pki-certificate",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show pki certificate name <name>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "pki",
        "kind": "keyword"
      },
      {
        "text": "certificate",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "bundle",
      "fingerprint",
      "pem"
    ]
  },
  {
    "path": "show pki certificate name bundle pem",
    "description": "Export the certificate, its intermediates and its private key as one PEM stream.",
    "long-help": "Device certificates only: a CA certificate in the store holds no private key.",
    "mode": "read-only",
    "wire-method": "ze-show:pki-certificate-bundle-pem",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show pki certificate name <name> bundle pem",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "pki",
        "kind": "keyword"
      },
      {
        "text": "certificate",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "bundle",
        "kind": "keyword"
      },
      {
        "text": "pem",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show pki certificate name fingerprint",
    "description": "Show the hash of the certificate, to verify its identity against the one another system reports.",
    "long-help": "Without an algorithm, SHA-256.",
    "mode": "read-only",
    "wire-method": "ze-show:pki-certificate-fingerprint",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show pki certificate name <name> fingerprint [sha256|sha384|sha512]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "pki",
        "kind": "keyword"
      },
      {
        "text": "certificate",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "fingerprint",
        "kind": "keyword"
      },
      {
        "text": "algorithm",
        "values": [
          "sha256",
          "sha384",
          "sha512"
        ],
        "kind": "choice"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "algorithm"
    ]
  },
  {
    "path": "show pki certificate name pem",
    "description": "Export the certificate, and any intermediate it carries, as PEM.",
    "long-help": "Use this form to give the certificate to another system.",
    "mode": "read-only",
    "wire-method": "ze-show:pki-certificate-pem",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show pki certificate name <name> pem",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "pki",
        "kind": "keyword"
      },
      {
        "text": "certificate",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      },
      {
        "text": "pem",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show pki certificates",
    "description": "List all loaded certificates with expiry dates.",
    "long-help": "Shows name, type (CA or device), subject, issuer, expiry, and validity status.\nCheck here to find certificates approaching expiration.",
    "mode": "read-only",
    "wire-method": "ze-show:pki-certificates",
    "usage": "show pki certificates",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "pki",
        "kind": "keyword"
      },
      {
        "text": "certificates",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show pki local-ca pem",
    "description": "Export the root certificate of the local certificate authority as PEM.",
    "long-help": "Give this text to each client that must trust this node, in its\n`pki ca <name> certificate` block. The output holds the certificate only:\nthe root private key never leaves the daemon.",
    "mode": "read-only",
    "wire-method": "ze-show:pki-local-ca-pem",
    "usage": "show pki local-ca pem",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "pki",
        "kind": "keyword"
      },
      {
        "text": "local-ca",
        "kind": "keyword"
      },
      {
        "text": "pem",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show plugin declarations",
    "description": "Show what each plugin declares about its command surface.",
    "long-help": "Each row names one plugin, says whether its code is in this\nbinary or in another one, and carries the commands it serves and the pipe\naliases it puts on them. Add 'config <path>' and the plugins that file\ndeclares gain a row too, external ones included.\nA plugin whose declaration could not be read keeps its row and says why in\nthe state field, so a plugin is never missing from the answer.\n'show plugin list' answers the other question, which plugins this binary\ncarries and what each plugin's own init() recorded.",
    "mode": "read-only",
    "wire-method": "ze-show:plugin-declarations",
    "usage": "show plugin declarations",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "declarations",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "name",
        "kind",
        "state",
        "commands",
        "pipes",
        "reason"
      ]
    ],
    "subcommands": [
      "config"
    ]
  },
  {
    "path": "show plugin declarations config",
    "description": "Read the plugin blocks of a config file as well.",
    "long-help": "The keyword types the value after it, so the reader of the\ncommand line knows the token is a config file and not a plugin name. The file is\nread with the daemon's own loader, so the answer covers the plugins the daemon\nwould start from it.",
    "mode": "read-only",
    "wire-method": "ze-show:plugin-declarations-config",
    "args": [
      {
        "name": "path",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show plugin declarations config <path>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "declarations",
        "kind": "keyword"
      },
      {
        "text": "config",
        "kind": "keyword"
      },
      {
        "text": "path",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "name",
        "kind",
        "state",
        "commands",
        "pipes",
        "reason"
      ]
    ]
  },
  {
    "path": "show plugin list",
    "description": "List the plugins compiled into this binary.",
    "long-help": "Each row carries the plugin name, what it does, the address\nfamilies it handles, the RFCs it implements, the BGP capability codes it owns,\nthe setup outcome its own init() recorded (succeeded, soft-failure,\nhard-failure or unknown) and the reason the plugin gave. A plugin that\nrecorded nothing is listed as unknown, never omitted, and a plugin that\nrecorded and then did not register keeps its row.\nThe outcome replays a past event: it was recorded once, before main(),\nand this command reads it back. 'show health' answers the other question,\nby running a probe now and reporting what the daemon is doing at this\nmoment.",
    "mode": "read-only",
    "wire-method": "ze-show:plugin-list",
    "usage": "show plugin list",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "plugin",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "name",
        "description",
        "outcome",
        "families",
        "rfcs",
        "capabilities",
        "reason"
      ]
    ]
  },
  {
    "path": "show policy chain peer",
    "description": "Show the import/export filter chain applied to a peer.",
    "long-help": "The selector\n(IP, name, as<N>) and the optional direction are parsed by the handler.\nShows the effective chain after group inheritance is resolved. Without\na direction keyword, shows both import and export.",
    "mode": "read-only",
    "wire-method": "ze-show:policy-chain",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show policy chain peer <selector> [import|export]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "policy",
        "kind": "keyword"
      },
      {
        "text": "chain",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "direction",
        "values": [
          "import",
          "export"
        ],
        "kind": "choice"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "direction"
    ]
  },
  {
    "path": "show policy list",
    "description": "List all available filter types and named instances.",
    "long-help": "Shows each filter type and its implementing plugin. Check here\nwhen building a new policy chain to see what filters you can use.",
    "mode": "read-only",
    "wire-method": "ze-show:policy-list",
    "usage": "show policy list",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "policy",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show policy routes",
    "description": "Show policy-based routing rules.",
    "long-help": "Lists PBR rules with match criteria and routing actions.",
    "mode": "read-only",
    "wire-method": "ze-show:policy-routes",
    "usage": "show policy routes",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "policy",
        "kind": "keyword"
      },
      {
        "text": "routes",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show policy test peer",
    "description": "Test what your policy does to a specific UPDATE.",
    "long-help": "Feed a hex-encoded BGP UPDATE through a peer's filter chain and see\nthe accept/reject result plus attribute modifications at each stage.\nRead-only: no routes are actually forwarded. Great for validating\npolicy changes before you commit.\nThe selector and the direction, filter, update and source-asn4 tokens are\nparsed by the handler, so the peer selector can be a free-form name or\naddress and the tokens can arrive in any order.",
    "mode": "read-only",
    "wire-method": "ze-show:policy-test",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "direction",
        "type": "enum",
        "values": [
          "import",
          "export"
        ],
        "mandatory": true
      }
    ],
    "usage": "show policy test peer <selector> <import|export> [filter <name>] update <hex> [source-asn4 <true|false>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "policy",
        "kind": "keyword"
      },
      {
        "text": "test",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "direction",
        "values": [
          "import",
          "export"
        ],
        "kind": "value"
      },
      {
        "text": "filter",
        "group": [
          {
            "text": "name",
            "kind": "value"
          }
        ],
        "kind": "group"
      },
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "hex",
        "kind": "value"
      },
      {
        "text": "source-asn4",
        "group": [
          {
            "text": "enabled",
            "values": [
              "true",
              "false"
            ],
            "kind": "value"
          }
        ],
        "kind": "group"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "filter",
      "source-asn4",
      "update"
    ]
  },
  {
    "path": "show pppoe",
    "description": "PPPoE session and protocol state.",
    "long-help": "Without a subcommand, shows a summary of active\nsessions.",
    "mode": "read-only",
    "wire-method": "ze-pppoe-api:summary",
    "usage": "show pppoe",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "pppoe",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "interfaces",
      "session",
      "sessions",
      "statistics"
    ]
  },
  {
    "path": "show pppoe interfaces",
    "description": "Show which interfaces are accepting PPPoE sessions.",
    "long-help": "Lists each PPPoE-enabled interface with its service\nname, session limit, and how many sessions are active now.",
    "mode": "read-only",
    "wire-method": "ze-pppoe-api:interfaces",
    "usage": "show pppoe interfaces",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "pppoe",
        "kind": "keyword"
      },
      {
        "text": "interfaces",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show pppoe session id",
    "description": "Show full detail for one PPPoE session.",
    "long-help": "Pass the session ID. Returns discovery tags,\nLCP/NCP state, assigned addresses, and traffic counters.",
    "mode": "read-only",
    "wire-method": "ze-pppoe-api:session",
    "args": [
      {
        "name": "id",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show pppoe session id <id>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "pppoe",
        "kind": "keyword"
      },
      {
        "text": "session",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show pppoe sessions",
    "description": "List all active PPPoE sessions.",
    "long-help": "One line per session: session ID, MAC, subscriber\nlogin, uptime, and assigned addresses.",
    "mode": "read-only",
    "wire-method": "ze-pppoe-api:sessions",
    "usage": "show pppoe sessions",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "pppoe",
        "kind": "keyword"
      },
      {
        "text": "sessions",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show pppoe statistics",
    "description": "Show PPPoE protocol message counters.",
    "long-help": "Returns PADI, PADO, PADR, PADS, PADT counts, active\nsessions, and errors. A rising PADI count with flat PADS means sessions are not\ncompleting.",
    "mode": "read-only",
    "wire-method": "ze-pppoe-api:statistics",
    "usage": "show pppoe statistics",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "pppoe",
        "kind": "keyword"
      },
      {
        "text": "statistics",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show probe-round",
    "description": "Run a parallel traceroute probe round to a target.",
    "long-help": "Sends all probes concurrently for faster results than sequential traceroute.\nReturns per-hop RTT and IP. Use probes and max-hops to tune accuracy vs speed.",
    "mode": "read-only",
    "wire-method": "ze-show:probe-round",
    "args": [
      {
        "name": "dest",
        "type": "string"
      },
      {
        "name": "probes",
        "type": "uint"
      },
      {
        "name": "max-hops",
        "type": "uint"
      },
      {
        "name": "timeout",
        "type": "string"
      }
    ],
    "usage": "show probe-round [dest <dest>] [probes <probes>] [max-hops <max-hops>] [timeout <timeout>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "probe-round",
        "kind": "keyword"
      },
      {
        "text": "dest",
        "kind": "option"
      },
      {
        "text": "probes",
        "kind": "option"
      },
      {
        "text": "max-hops",
        "kind": "option"
      },
      {
        "text": "timeout",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show reload-status",
    "description": "Show how many config reloads the daemon has processed.",
    "long-help": "Returns a generation counter, the outcome of the most recent reload\n(applied or failed), and when it finished. The counter advances on every\nprocessed reload, including one that rejected or changed nothing, so you\ncan confirm a SIGHUP was acted on even when it deliberately left the\nrunning config alone.",
    "mode": "read-only",
    "wire-method": "ze-show:reload-status",
    "usage": "show reload-status",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "reload-status",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show resolve rir",
    "description": "Show which Regional Internet Registry holds an AS number.",
    "long-help": "Reads the RIR delegation table that ships with the binary, or the newer\ncopy an earlier 'update resolve rir' stored. Reaches no network. Reports the\nregistry, its whois server, and the delegated range that holds the AS number.\nAn AS number in no delegated range and a table that cannot be read are two\ndifferent answers.",
    "mode": "read-only",
    "wire-method": "ze-show:resolve-rir",
    "args": [
      {
        "name": "asn",
        "type": "union",
        "mandatory": true
      }
    ],
    "usage": "show resolve rir <asn>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "rir",
        "kind": "keyword"
      },
      {
        "text": "asn",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show rib",
    "description": "Show each route the system RIB holds, with its family, next hop, protocol and equal-cost paths.",
    "mode": "read-only",
    "usage": "show rib",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show route",
    "description": "Show the kernel routing table.",
    "long-help": "Lists installed routes with next-hop, interface, protocol,\nand metric. Pass a CIDR prefix or 'default' to filter, or a route limit to cap\nthe output.",
    "mode": "read-only",
    "wire-method": "ze-show:route",
    "args": [
      {
        "name": "prefix",
        "type": "string"
      },
      {
        "name": "limit",
        "type": "uint"
      }
    ],
    "usage": "show route [prefix <prefix>] [limit <limit>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "route",
        "kind": "keyword"
      },
      {
        "text": "prefix",
        "kind": "option"
      },
      {
        "text": "limit",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "lookup"
    ]
  },
  {
    "path": "show route lookup",
    "description": "Look up which route the kernel would use for a given IP.",
    "long-help": "Performs a longest-prefix-match and returns the\nmatching route with gateway, interface, protocol, and metric.",
    "mode": "read-only",
    "wire-method": "ze-show:route-lookup",
    "args": [
      {
        "name": "ip",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show route lookup <ip>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "route",
        "kind": "keyword"
      },
      {
        "text": "lookup",
        "kind": "keyword"
      },
      {
        "text": "ip",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show rr peers",
    "description": "Show route reflector client peers.",
    "long-help": "Lists each RR client with session state and reflected route counts.",
    "mode": "read-only",
    "wire-method": "ze-show:rr-peers",
    "usage": "show rr peers",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "rr",
        "kind": "keyword"
      },
      {
        "text": "peers",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show rr status",
    "description": "Show whether the route reflector is active.",
    "long-help": "Returns cluster ID, running state, and summary statistics\n(reflected routes, client count).",
    "mode": "read-only",
    "wire-method": "ze-show:rr-status",
    "usage": "show rr status",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "rr",
        "kind": "keyword"
      },
      {
        "text": "status",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show rsvp-te fast-reroute",
    "description": "Show RSVP-TE Fast Reroute (RFC 4090) protection state.",
    "long-help": "Returns each configured facility-backup bypass LSP and each protected LSP with\nits armed bypass, mode, and whether local protection is available and in use.",
    "mode": "read-only",
    "wire-method": "ze-show:rsvp-te-fast-reroute",
    "usage": "show rsvp-te fast-reroute",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "rsvp-te",
        "kind": "keyword"
      },
      {
        "text": "fast-reroute",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show rsvp-te interface",
    "description": "Show RSVP-TE bandwidth allocation per interface.",
    "long-help": "Returns reserved, available, and maximum bandwidth for each TE-enabled\ninterface.",
    "mode": "read-only",
    "wire-method": "ze-show:rsvp-te-interface",
    "usage": "show rsvp-te interface",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "rsvp-te",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show rsvp-te lsp",
    "description": "Show RSVP-TE label-switched paths.",
    "long-help": "Returns state, role (ingress/transit/egress), reserved bandwidth, and in/out\nlabels for each LSP.",
    "mode": "read-only",
    "wire-method": "ze-show:rsvp-te-lsp",
    "usage": "show rsvp-te lsp",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "rsvp-te",
        "kind": "keyword"
      },
      {
        "text": "lsp",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show rsvp-te session",
    "description": "Show each signaling session with its LSP state, role, bandwidth and labels.",
    "mode": "read-only",
    "usage": "show rsvp-te session",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show rsvp-te tunnel",
    "description": "Show configured RSVP-TE tunnels and their current state.",
    "long-help": "Returns tunnel name, endpoints, signaling state, and active LSP.",
    "mode": "read-only",
    "wire-method": "ze-show:rsvp-te-tunnel",
    "usage": "show rsvp-te tunnel",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "rsvp-te",
        "kind": "keyword"
      },
      {
        "text": "tunnel",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show runtime memory",
    "description": "Show the Go runtime allocator memory stats.",
    "long-help": "Returns allocated bytes, heap in-use, total allocations, GC cycles, and\nlast GC pause duration. Compare over time to spot leaks. For the OS-level\nprocess memory (RSS/VSZ) use 'show system memory'.",
    "mode": "read-only",
    "wire-method": "ze-show:system-memory",
    "usage": "show runtime memory",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "runtime",
        "kind": "keyword"
      },
      {
        "text": "memory",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show schema events",
    "description": "List all notification types defined in YANG API modules.",
    "long-help": "Shows which events a plugin can subscribe to.",
    "mode": "read-only",
    "wire-method": "ze-show:schema-events",
    "usage": "show schema events",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "schema",
        "kind": "keyword"
      },
      {
        "text": "events",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "method",
        "module",
        "description"
      ]
    ]
  },
  {
    "path": "show schema handlers",
    "description": "Show which handler serves each YANG module.",
    "long-help": "Maps module names to their implementing Go handler.",
    "mode": "read-only",
    "wire-method": "ze-show:schema-handlers",
    "usage": "show schema handlers",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "schema",
        "kind": "keyword"
      },
      {
        "text": "handlers",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "handler",
        "module"
      ]
    ]
  },
  {
    "path": "show schema list",
    "description": "List all YANG schemas loaded by the daemon.",
    "long-help": "Shows module name, namespace, and revision for each schema.",
    "mode": "read-only",
    "wire-method": "ze-show:schema-list",
    "usage": "show schema list",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "schema",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "module",
        "namespace",
        "wants-config",
        "imports"
      ]
    ]
  },
  {
    "path": "show schema methods",
    "description": "List all RPC methods defined in YANG API modules.",
    "long-help": "Useful for plugin developers to discover available operations.",
    "mode": "read-only",
    "wire-method": "ze-show:schema-methods",
    "usage": "show schema methods",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "schema",
        "kind": "keyword"
      },
      {
        "text": "methods",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "method",
        "module",
        "description"
      ]
    ]
  },
  {
    "path": "show schema protocol",
    "description": "Show the wire protocol version and format details.",
    "long-help": "Useful for checking compatibility between Ze versions.",
    "mode": "read-only",
    "wire-method": "ze-show:schema-protocol",
    "usage": "show schema protocol",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "schema",
        "kind": "keyword"
      },
      {
        "text": "protocol",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      }
    ],
    "answer-shape": "doc"
  },
  {
    "path": "show static",
    "description": "Show static routes defined in the configuration.",
    "long-help": "Lists each static route with its prefix, next-hop, and interface.",
    "mode": "read-only",
    "wire-method": "ze-show:static",
    "usage": "show static",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "static",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show status",
    "description": "Show process status, uptime, and resource usage.",
    "long-help": "The answer carries the uptime, the peer count and the daemon start time. This\ncommand needs a running reactor, so a daemon that has none refuses it.",
    "mode": "read-only",
    "wire-method": "ze-system:daemon-status",
    "usage": "show status",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "status",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show storage smart",
    "description": "Show disk health via SMART data.",
    "long-help": "Returns health status, temperature, power-on hours, and self-test schedule for\neach block device. Replace drives that report failing health before they cause\ndata loss.",
    "mode": "read-only",
    "wire-method": "ze-show:storage-smart",
    "usage": "show storage smart",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "storage",
        "kind": "keyword"
      },
      {
        "text": "smart",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show subscriber",
    "description": "Show a summary of all subscriber sessions.",
    "long-help": "Counts by access type (PPPoE, L2TP, IPoE) with totals. It\nis the quick way to see how many subscribers are online.",
    "mode": "read-only",
    "wire-method": "ze-subscriber-api:summary",
    "usage": "show subscriber",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "subscriber",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "id"
    ]
  },
  {
    "path": "show subscriber id detail",
    "description": "Show everything about one subscriber session.",
    "long-help": "Pass the session ID. Returns access type, assigned\naddresses, authentication state, uptime, and traffic counters.",
    "mode": "read-only",
    "wire-method": "ze-subscriber-api:detail",
    "args": [
      {
        "name": "id",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show subscriber id <id> detail",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "subscriber",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "keyword"
      },
      {
        "text": "id",
        "kind": "value"
      },
      {
        "text": "detail",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show sysctl",
    "description": "Show all active sysctl keys with source and persistence",
    "mode": "read-only",
    "usage": "show sysctl",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show sysctl key",
    "description": "Show detail for one sysctl key",
    "mode": "read-only",
    "usage": "show sysctl key <key>",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show sysctl keys",
    "description": "List all known sysctl keys with descriptions",
    "mode": "read-only",
    "usage": "show sysctl keys",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show sysctl profile",
    "description": "Show detail for one sysctl profile",
    "mode": "read-only",
    "usage": "show sysctl profile <name>",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show sysctl profiles",
    "description": "List all registered sysctl profiles",
    "mode": "read-only",
    "usage": "show sysctl profiles",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system conntrack",
    "description": "Show the kernel connection tracking table.",
    "long-help": "Returns conntrack entry count, table size, timeouts,\nand loaded modules. Requires the nft backend. Check this when you suspect\nconntrack table exhaustion is dropping traffic.",
    "mode": "read-only",
    "wire-method": "ze-show:system-conntrack",
    "backend": [
      "nft"
    ],
    "usage": "show system conntrack",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "conntrack",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system cpu",
    "description": "Show CPU utilization context for the daemon.",
    "long-help": "Returns goroutine count, logical CPU count, and GOMAXPROCS setting.\nUseful when the box feels sluggish and you want to see if Ze is\nhogging threads.",
    "mode": "read-only",
    "wire-method": "ze-show:system-cpu",
    "usage": "show system cpu",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "cpu",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system date",
    "description": "Show the daemon's current wall-clock time and timezone.",
    "long-help": "Useful for correlating log timestamps when the box is in a\ndifferent timezone than you are.",
    "mode": "read-only",
    "wire-method": "ze-show:system-date",
    "usage": "show system date",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "date",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system file-descriptors",
    "description": "Show how many file descriptors the daemon has open.",
    "long-help": "Summary mode: totals by type (socket, pipe, file). Detail mode: every\nfd with its path and type. Linux only (reads /proc/self/fd). Check\nthis when you suspect fd exhaustion.",
    "mode": "read-only",
    "wire-method": "ze-show:system-file-descriptors",
    "args": [
      {
        "name": "mode",
        "type": "enum",
        "values": [
          "summary",
          "detail"
        ]
      }
    ],
    "usage": "show system file-descriptors [mode <summary|detail>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "file-descriptors",
        "kind": "keyword"
      },
      {
        "text": "mode",
        "values": [
          "summary",
          "detail"
        ],
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system goroutines",
    "description": "Dump goroutine stacks for debugging hangs or deadlocks.",
    "long-help": "Modes: summary (groups by state), blocked (only lock/channel waiters),\nfull (all stacks). Default: summary. Share the output with support\nwhen the daemon stops responding.",
    "mode": "read-only",
    "wire-method": "ze-show:system-goroutines",
    "args": [
      {
        "name": "mode",
        "type": "enum",
        "values": [
          "summary",
          "blocked",
          "full"
        ]
      }
    ],
    "usage": "show system goroutines [mode <summary|blocked|full>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "goroutines",
        "kind": "keyword"
      },
      {
        "text": "mode",
        "values": [
          "summary",
          "blocked",
          "full"
        ],
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system kernel-log",
    "description": "Show kernel log messages (dmesg-style).",
    "long-help": "Reads from /dev/kmsg. Filter by syslog level (emerg through debug) and limit\nwith count. Without count, you get everything available. Linux only. Useful\nfor spotting NIC errors or OOM events.",
    "mode": "read-only",
    "wire-method": "ze-show:system-kernel-log",
    "args": [
      {
        "name": "level",
        "type": "enum",
        "values": [
          "emerg",
          "alert",
          "crit",
          "err",
          "warning",
          "notice",
          "info",
          "debug"
        ]
      },
      {
        "name": "count",
        "type": "uint"
      }
    ],
    "usage": "show system kernel-log [level <emerg|alert|crit|err|warning|notice|info|debug>] [count <count>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "kernel-log",
        "kind": "keyword"
      },
      {
        "text": "level",
        "values": [
          "emerg",
          "alert",
          "crit",
          "err",
          "warning",
          "notice",
          "info",
          "debug"
        ],
        "kind": "option"
      },
      {
        "text": "count",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system memory",
    "description": "Show how much memory the daemon is using, from the OS's view.",
    "long-help": "Returns VmRSS, VmSize, VmSwap, and thread count from /proc/self/status\n(Linux only). This is what the operating system reports the process is\nusing. For the Go runtime allocator view (heap, GC), use\n'show runtime memory'.",
    "mode": "read-only",
    "wire-method": "ze-show:system-memory-map",
    "usage": "show system memory",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "memory",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system ntp",
    "description": "NTP clock synchronization status.",
    "long-help": "The answer carries enabled false alone when NTP is off. It carries the\nsame when the daemon has recorded no state yet, so the two cases read\nalike. An enabled client answers whether it is synced, its source, the\noffset, the stratum and the poll interval. The last-sync time is\npresent only after a synchronization has happened.",
    "mode": "read-only",
    "wire-method": "ze-show:system-ntp",
    "usage": "show system ntp",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "ntp",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "peers"
    ]
  },
  {
    "path": "show system ntp peers",
    "description": "Show NTP peers with offset, RTT, stratum, and reachability.",
    "long-help": "Tells you whether your clock is synced and how far off each NTP server thinks\nyou are.",
    "mode": "read-only",
    "wire-method": "ze-show:system-ntp-peers",
    "usage": "show system ntp peers",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "ntp",
        "kind": "keyword"
      },
      {
        "text": "peers",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system platform",
    "description": "Show what kind of platform the daemon is running on.",
    "long-help": "Reports whether this is gokrazy, systemd, container, plain-linux, or\ndarwin, along with platform-specific capabilities.",
    "mode": "read-only",
    "wire-method": "ze-show:system-platform",
    "usage": "show system platform",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "platform",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system profile",
    "description": "Capture a runtime profile for performance analysis.",
    "long-help": "Types: cpu (requires duration, e.g. 30s), heap, goroutine, allocs\n(instant snapshots). Output is pprof format you can open with\n'go tool pprof'. Send the file to support for deep analysis.",
    "mode": "read-only",
    "wire-method": "ze-show:system-profile",
    "args": [
      {
        "name": "type",
        "type": "enum",
        "values": [
          "cpu",
          "heap",
          "goroutine",
          "allocs"
        ]
      },
      {
        "name": "duration",
        "type": "string"
      }
    ],
    "usage": "show system profile [type <cpu|heap|goroutine|allocs>] [duration <duration>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "profile",
        "kind": "keyword"
      },
      {
        "text": "type",
        "values": [
          "cpu",
          "heap",
          "goroutine",
          "allocs"
        ],
        "kind": "option"
      },
      {
        "text": "duration",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system sockets",
    "description": "Show open TCP and UDP sockets on this box.",
    "long-help": "Every filter is optional and they combine. States use\nkernel names (ESTABLISHED, LISTEN, TIME_WAIT).\nLinux only. Good for confirming listeners or spotting stuck connections.",
    "mode": "read-only",
    "wire-method": "ze-show:system-sockets",
    "args": [
      {
        "name": "protocol",
        "type": "enum",
        "values": [
          "tcp",
          "udp"
        ]
      },
      {
        "name": "state",
        "type": "string"
      },
      {
        "name": "port",
        "type": "uint"
      }
    ],
    "usage": "show system sockets [protocol <tcp|udp>] [state <state>] [port <port>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "sockets",
        "kind": "keyword"
      },
      {
        "text": "protocol",
        "values": [
          "tcp",
          "udp"
        ],
        "kind": "option"
      },
      {
        "text": "state",
        "kind": "option"
      },
      {
        "text": "port",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system subsystem list",
    "description": "List every registered subsystem and whether it is running.",
    "long-help": "Shows you which components (bgp, dns, web, l2tp, etc.) are active,\nstopped, or failed.",
    "mode": "read-only",
    "wire-method": "ze-show:system-subsystem-list",
    "usage": "show system subsystem list",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "subsystem",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show system update",
    "description": "Check if a firmware update is available.",
    "long-help": "Shows the running version, latest available version, and when the last check\nran. Use 'update system firmware check' to trigger an immediate re-check.",
    "mode": "read-only",
    "wire-method": "ze-show:system-update",
    "usage": "show system update",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "update",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "history"
    ]
  },
  {
    "path": "show system update history",
    "description": "Show recent firmware update activity.",
    "long-help": "Lists the last 20 update events: checks, downloads, installs, and rollbacks\nwith timestamps and outcomes.",
    "mode": "read-only",
    "wire-method": "ze-show:system-update-history",
    "usage": "show system update history",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "history",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show tcp-check",
    "description": "Test TCP connectivity to a remote host and port.",
    "long-help": "Tries to open a TCP connection and reports success or failure with the\nconnection time. Use 'source <IP>' to bind a specific local address. Quick way\nto verify a peer's BGP port is reachable.",
    "mode": "read-only",
    "wire-method": "ze-show:tcp-check",
    "args": [
      {
        "name": "host",
        "type": "string",
        "mandatory": true
      },
      {
        "name": "port",
        "type": "uint",
        "mandatory": true
      },
      {
        "name": "source",
        "type": "string"
      },
      {
        "name": "timeout",
        "type": "string"
      }
    ],
    "usage": "show tcp-check <host> <port> [source <source>] [timeout <timeout>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "tcp-check",
        "kind": "keyword"
      },
      {
        "text": "host",
        "kind": "value"
      },
      {
        "text": "port",
        "kind": "value"
      },
      {
        "text": "source",
        "kind": "option"
      },
      {
        "text": "timeout",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show traceroute",
    "description": "Trace the network path from this router to a target.",
    "long-help": "Shows each hop with its IP and round-trip time. Dest can be an IP or hostname.\nDefaults: 30 max hops, 3 probes per hop. Increase probes for more reliable RTT\nmeasurements.",
    "mode": "read-only",
    "wire-method": "ze-show:traceroute",
    "args": [
      {
        "name": "dest",
        "type": "string"
      },
      {
        "name": "max-hops",
        "type": "uint"
      },
      {
        "name": "timeout",
        "type": "string"
      },
      {
        "name": "probes",
        "type": "uint"
      }
    ],
    "usage": "show traceroute [dest <dest>] [max-hops <max-hops>] [timeout <timeout>] [probes <probes>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "traceroute",
        "kind": "keyword"
      },
      {
        "text": "dest",
        "kind": "option"
      },
      {
        "text": "max-hops",
        "kind": "option"
      },
      {
        "text": "timeout",
        "kind": "option"
      },
      {
        "text": "probes",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show traffic control",
    "description": "Show traffic control (QoS) configuration per interface.",
    "long-help": "Without arguments, lists every interface with its qdisc type and class/filter\ncounts. With an interface name, shows the full qdisc and class breakdown. Use\nthis to verify your shaping is applied.",
    "mode": "read-only",
    "wire-method": "ze-show:traffic",
    "usage": "show traffic control",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "traffic",
        "kind": "keyword"
      },
      {
        "text": "control",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show traffic feature",
    "description": "Show neutral per-source traffic feature signals.",
    "long-help": "The signals are fan-out (distinct destinations), out/in\nbyte ratio (exfiltration), destination-port entropy, new-peer, rare-port/proto,\nand coarse beaconing.\nWithout arguments, shows the top source entities. With 'name <address>',\nfilters to one source.",
    "mode": "read-only",
    "wire-method": "ze-show:traffic-feature",
    "args": [
      {
        "name": "name",
        "type": "string"
      }
    ],
    "usage": "show traffic feature [name <name>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "traffic",
        "kind": "keyword"
      },
      {
        "text": "feature",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show traffic stat",
    "description": "Show aggregated traffic snapshot (interface rates, top talkers, top ports, severity).",
    "long-help": "Without arguments, shows all interfaces. With\n'name <interface>', filters to one interface.",
    "mode": "read-only",
    "wire-method": "ze-show:traffic-stat",
    "args": [
      {
        "name": "name",
        "type": "string"
      }
    ],
    "usage": "show traffic stat [name <name>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "traffic",
        "kind": "keyword"
      },
      {
        "text": "stat",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show traffic usage",
    "description": "Show per-interface traffic byte counters captured by eBPF TCX.",
    "long-help": "Per destination/source port and protocol counters are always present; per-IP\ntop-talker counters appear when track-ip is enabled. Without arguments, lists\nall monitored interfaces. With 'name <interface>', shows that one interface.",
    "mode": "read-only",
    "wire-method": "ze-show:traffic-usage",
    "args": [
      {
        "name": "name",
        "type": "string"
      }
    ],
    "usage": "show traffic usage [name <name>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "traffic",
        "kind": "keyword"
      },
      {
        "text": "usage",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show uptime",
    "description": "Show how long the daemon has been running.",
    "long-help": "Returns the start time and elapsed uptime. Handy after a maintenance\nwindow to confirm the process restarted.",
    "mode": "read-only",
    "wire-method": "ze-show:uptime",
    "usage": "show uptime",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "uptime",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show version",
    "description": "Show the running Ze version and build date.",
    "long-help": "You can verify which release is deployed on this box.",
    "mode": "read-only",
    "wire-method": "ze-show:version",
    "usage": "show version",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "version",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show vpn ipsec dataplane drift",
    "description": "Compare what the IKE engine believes against what the kernel holds.",
    "long-help": "Reports each Child SA the engine counts as\ninstalled whose expected identity the kernel SAD does not hold. The command exits non-zero\nwhen it finds drift, so a script CAN test it. A rekey window holds two SPIs and\nis not drift.",
    "mode": "read-only",
    "wire-method": "ze-show:vpn-ipsec-dataplane-drift",
    "usage": "show vpn ipsec dataplane drift",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vpn",
        "kind": "keyword"
      },
      {
        "text": "ipsec",
        "kind": "keyword"
      },
      {
        "text": "dataplane",
        "kind": "keyword"
      },
      {
        "text": "drift",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show vpn ipsec dataplane policy",
    "description": "Show the Security Policy Database the kernel holds.",
    "long-help": "Lists each policy with its selector prefixes\nand ports, direction, priority, upper-layer protocol, if_id, tunnel endpoints,\nand the peer that installed it. A policy with no matching SA is the failure\nthis command exists to show. RFC 4301 Section 4.4 keeps the SPD and the SAD\nseparate, and so does this tree.",
    "mode": "read-only",
    "wire-method": "ze-show:vpn-ipsec-dataplane-policy",
    "usage": "show vpn ipsec dataplane policy",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vpn",
        "kind": "keyword"
      },
      {
        "text": "ipsec",
        "kind": "keyword"
      },
      {
        "text": "dataplane",
        "kind": "keyword"
      },
      {
        "text": "policy",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show vpn ipsec dataplane sa",
    "description": "Show the Security Association Database the kernel holds.",
    "long-help": "Lists each installed ESP SA with its SPI,\naddresses, mode, algorithms, replay window, byte and packet counters, and\ntimestamps. Give 'spi <spi>' to show all matching SAs. Without a selector the command\ndumps every SA, which on a device with many tunnels is one row per SA.",
    "mode": "read-only",
    "wire-method": "ze-show:vpn-ipsec-dataplane-sa",
    "args": [
      {
        "name": "spi",
        "type": "uint"
      }
    ],
    "usage": "show vpn ipsec dataplane sa [spi <spi>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vpn",
        "kind": "keyword"
      },
      {
        "text": "ipsec",
        "kind": "keyword"
      },
      {
        "text": "dataplane",
        "kind": "keyword"
      },
      {
        "text": "sa",
        "kind": "keyword"
      },
      {
        "text": "spi",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show vpn ipsec peer name",
    "description": "Show full detail for one IPsec peer.",
    "long-help": "Returns IKE SA state, all child SAs with\ntraffic selectors, and byte counts.",
    "mode": "read-only",
    "wire-method": "ze-show:vpn-ipsec-peer",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "show vpn ipsec peer name <name>",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vpn",
        "kind": "keyword"
      },
      {
        "text": "ipsec",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show vpn ipsec sa",
    "description": "Show all IKE and Child Security Associations.",
    "long-help": "Lists every SA with peer, negotiated algorithms,\nbyte counts, rekey timers, and uptime. Includes SPIs, NAT detection, and child\nSA traffic selectors. It is the main IPsec status command.",
    "mode": "read-only",
    "wire-method": "ze-show:vpn-ipsec-sa",
    "usage": "show vpn ipsec sa",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vpn",
        "kind": "keyword"
      },
      {
        "text": "ipsec",
        "kind": "keyword"
      },
      {
        "text": "sa",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show vpn ipsec status",
    "description": "Quick IPsec health check.",
    "long-help": "Reports whether the IKE engine is running, how many\npeers are configured, and how many IKE SAs are Established.",
    "mode": "read-only",
    "wire-method": "ze-show:vpn-ipsec-status",
    "usage": "show vpn ipsec status",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vpn",
        "kind": "keyword"
      },
      {
        "text": "ipsec",
        "kind": "keyword"
      },
      {
        "text": "status",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show vpp runtime",
    "description": "Show VPP graph node processing statistics.",
    "long-help": "Returns per-node packet counts, vectors, clocks, and suspends. Helps you find\nwhich node is the bottleneck. Requires the VPP backend.",
    "mode": "read-only",
    "wire-method": "ze-show:vpp-runtime",
    "usage": "show vpp runtime",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vpp",
        "kind": "keyword"
      },
      {
        "text": "runtime",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show vpp trace clear",
    "description": "Discard the captured VPP trace buffer.",
    "long-help": "Clears all packets so you can start a fresh trace. Requires the VPP backend.",
    "mode": "read-only",
    "wire-method": "ze-show:vpp-trace-clear",
    "usage": "show vpp trace clear",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vpp",
        "kind": "keyword"
      },
      {
        "text": "trace",
        "kind": "keyword"
      },
      {
        "text": "clear",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show vpp trace show",
    "description": "Retrieve packets captured since the last trace start.",
    "long-help": "Shows per-packet VPP graph node traversal. Requires the VPP backend.",
    "mode": "read-only",
    "wire-method": "ze-show:vpp-trace-show",
    "usage": "show vpp trace show",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vpp",
        "kind": "keyword"
      },
      {
        "text": "trace",
        "kind": "keyword"
      },
      {
        "text": "show",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show vpp trace start",
    "description": "Start capturing packets in the VPP dataplane.",
    "long-help": "Default input node is dpdk-input, default count is 100 (max 10000). After\nstarting, use 'show vpp trace show' to retrieve the captured packets. Requires\nthe VPP backend.",
    "mode": "read-only",
    "wire-method": "ze-show:vpp-trace-start",
    "usage": "show vpp trace start",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vpp",
        "kind": "keyword"
      },
      {
        "text": "trace",
        "kind": "keyword"
      },
      {
        "text": "start",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show vrrp",
    "description": "Show every VRRP virtual router.",
    "long-help": "Per router: its group name, VRID, address family, state (initialize,\nbackup, master), configured and effective priority, virtual addresses, and the\nmacvlan device that carries the virtual MAC.",
    "mode": "read-only",
    "wire-method": "ze-show:vrrp",
    "usage": "show vrrp",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vrrp",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "interface",
      "statistics"
    ]
  },
  {
    "path": "show vrrp interface",
    "description": "Show the VRRP virtual routers hosted on one interface.",
    "long-help": "One interface can host several virtual routers. Each one has its own\nVRID and its own election. This view can therefore report more than\none state for one link.",
    "mode": "read-only",
    "usage": "show vrrp interface name <interface>",
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "subcommands": [
      "name"
    ]
  },
  {
    "path": "show vrrp interface name",
    "description": "Show the VRRP virtual routers on one parent interface.",
    "long-help": "Pass the interface name: show vrrp interface name <interface>.",
    "mode": "read-only",
    "wire-method": "ze-show:vrrp-interface",
    "args": [
      {
        "name": "value",
        "type": "string"
      }
    ],
    "usage": "show vrrp interface name [value <value>]",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vrrp",
        "kind": "keyword"
      },
      {
        "text": "interface",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "keyword"
      },
      {
        "text": "value",
        "kind": "option"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show vrrp statistics",
    "description": "Show per-virtual-router counters.",
    "long-help": "Advertisements sent and received, priority-zero advertisements,\ngratuitous ARP and unsolicited neighbor advertisement bursts,\nreceive-validation errors by reason, and the derived skew and master-down\ntimers in microseconds (a VRRPv3 skew is sub-millisecond).",
    "mode": "read-only",
    "wire-method": "ze-show:vrrp-statistics",
    "usage": "show vrrp statistics",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "vrrp",
        "kind": "keyword"
      },
      {
        "text": "statistics",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show warnings",
    "description": "Show active warnings across all subsystems.",
    "long-help": "Displays any conditions that need your attention (degraded peers,\nresource limits approaching, etc.). Use 'source <name>' to filter\nto a single subsystem.",
    "mode": "read-only",
    "wire-method": "ze-show:warnings",
    "usage": "show warnings",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "warnings",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "show yang completion",
    "description": "Show YANG paths available for tab completion.",
    "long-help": "Lists every valid completion point in the command tree.",
    "mode": "read-only",
    "wire-method": "ze-show:yang-completion",
    "usage": "show yang completion",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "yang",
        "kind": "keyword"
      },
      {
        "text": "completion",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab"
  },
  {
    "path": "show yang doc",
    "description": "Generate command reference docs from YANG schemas.",
    "long-help": "Produces structured documentation with descriptions, arguments, and usage\npatterns for every registered command.",
    "mode": "read-only",
    "wire-method": "ze-show:yang-doc",
    "usage": "show yang doc",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "yang",
        "kind": "keyword"
      },
      {
        "text": "doc",
        "kind": "keyword"
      }
    ]
  },
  {
    "path": "show yang tree",
    "description": "Print the YANG tree for a module in a readable hierarchy.",
    "long-help": "Shows node types, data types, and config-vs-state annotations. Similar to\n'pyang -f tree'. Useful for understanding the config or command structure.",
    "mode": "read-only",
    "wire-method": "ze-show:yang-tree",
    "usage": "show yang tree",
    "grammar": [
      {
        "text": "show",
        "kind": "keyword"
      },
      {
        "text": "yang",
        "kind": "keyword"
      },
      {
        "text": "tree",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "always",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "always",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "always",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "always",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "always",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "always",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ],
    "answer-shape": "tab",
    "column-orders": [
      [
        "name",
        "kind",
        "source",
        "description"
      ]
    ]
  },
  {
    "path": "skills",
    "description": "List the agent skills this binary carries, or fetch one by name.",
    "long-help": "Each skill is a Markdown document bundled with the binary, so it always matches the running version. One skill is fetched by name, in its short form or in full.",
    "mode": "offline"
  },
  {
    "path": "support",
    "description": "Collect logs, config, state and diagnostics into one archive.",
    "long-help": "Send the archive to support when you report an issue. Modules can be selected or excluded, and a time window narrows what the archive holds.",
    "mode": "offline"
  },
  {
    "path": "system command complete",
    "description": "List the completion candidates for a partial command.",
    "long-help": "Ze completes a command NAME from the partial text. Write 'args' before the\ncommand name to complete an ARGUMENT of that command instead, in the form\n'system command complete args <cmd> [<completed>...] <partial>'.",
    "mode": "read-only",
    "wire-method": "ze-system:command-complete",
    "usage": "system command complete",
    "grammar": [
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "command",
        "kind": "keyword"
      },
      {
        "text": "complete",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "system command help",
    "description": "Show the detailed help for one command.",
    "long-help": "The answer carries command, description, long-help and source. A command a\nplugin registered also carries args and its timeout. An unknown name fails\nwith 'unknown command: <name>'.",
    "mode": "read-only",
    "wire-method": "ze-system:command-help",
    "usage": "system command help",
    "grammar": [
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "command",
        "kind": "keyword"
      },
      {
        "text": "help",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "system command list",
    "description": "List every command the daemon knows.",
    "long-help": "The rows carry the built-in commands first, then the commands the plugins\nregistered. Each row carries the command name, its summary and its long\nexplanation. Add the word verbose to put the source of each row beside it.",
    "mode": "read-only",
    "wire-method": "ze-system:command-list",
    "usage": "system command list",
    "grammar": [
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "command",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "system dispatch",
    "description": "Dispatch a text command through the command dispatcher.",
    "long-help": "Ze joins the words after the keyword into one command string and runs it\nthrough the text dispatcher the CLI uses. A plugin command is reachable this\nway. With no dispatcher, the command fails with 'dispatcher not available'.",
    "mode": "read-only",
    "wire-method": "ze-system:dispatch",
    "usage": "system dispatch",
    "grammar": [
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "dispatch",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "system help",
    "description": "List the subcommands the system verb accepts.",
    "long-help": "The list carries the built-in commands first, then the commands the plugins\nregistered, each written as 'name - description'. A plugin command marked\nhidden is left out. With no dispatcher, Ze answers a short fixed list\ninstead.",
    "mode": "read-only",
    "wire-method": "ze-system:help",
    "usage": "system help",
    "grammar": [
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "help",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "system subsystem list",
    "description": "List the subsystems registered in the daemon.",
    "long-help": "Each row carries the process name, its stage, a running flag and a command\ncount. The command count comes from the dispatcher registry, which is what\ncounts the commands the process actually registered.",
    "mode": "read-only",
    "wire-method": "ze-system:subsystem-list",
    "usage": "system subsystem list",
    "grammar": [
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "subsystem",
        "kind": "keyword"
      },
      {
        "text": "list",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "system version api",
    "description": "Show the IPC protocol version.",
    "long-help": "The answer carries one version key. It holds the IPC protocol number that the\ndaemon and its clients agree on, and it is not the ze software version.",
    "mode": "read-only",
    "wire-method": "ze-system:version-api",
    "usage": "system version api",
    "grammar": [
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "version",
        "kind": "keyword"
      },
      {
        "text": "api",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "system version software",
    "description": "Show the ze software version.",
    "long-help": "The answer carries a version key and a build-date key. Both come from the\nvalues the build stamped into the binary, so a daemon that was never rebuilt\nreports the same pair after a restart.",
    "mode": "read-only",
    "wire-method": "ze-system:version-software",
    "usage": "system version software",
    "grammar": [
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "version",
        "kind": "keyword"
      },
      {
        "text": "software",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update bgp irr all",
    "description": "Refresh all IRR prefix-lists immediately.",
    "long-help": "Re-queries the IRR server for every enrolled ASN and atomically\nswaps prefix-lists on success. Failed refreshes preserve the\nexisting prefix-list and report an error.",
    "mode": "daemon",
    "wire-method": "ze-update:irr-all",
    "usage": "update bgp irr all",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "all",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update bgp irr as-set",
    "description": "Refresh IRR prefix-list for a specific AS-SET.",
    "long-help": "Re-queries the IRR server\nfor all peers using the given AS-SET name.",
    "mode": "daemon",
    "wire-method": "ze-update:irr-as-set",
    "args": [
      {
        "name": "as-set",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "update bgp irr as-set <as-set>",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "as-set",
        "kind": "keyword"
      },
      {
        "text": "as-set",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update bgp irr asn",
    "description": "Refresh IRR prefix-list for a specific ASN.",
    "long-help": "Re-queries the IRR server for\nthe given ASN only.",
    "mode": "daemon",
    "wire-method": "ze-update:irr-asn",
    "args": [
      {
        "name": "asn",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "update bgp irr asn <asn>",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "asn",
        "kind": "keyword"
      },
      {
        "text": "asn",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update bgp peer prefix",
    "description": "Refresh max-prefix limits from PeeringDB.",
    "long-help": "Queries PeeringDB for each matched peer's ASN, applies the configured\nmargin, and writes the result to the config draft. Run 'config commit'\nto apply.",
    "mode": "daemon",
    "wire-method": "ze-update:bgp-peer-prefix",
    "args": [
      {
        "name": "selector",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "update bgp peer <selector> prefix",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "bgp",
        "kind": "keyword"
      },
      {
        "text": "peer",
        "kind": "keyword"
      },
      {
        "text": "selector",
        "kind": "value"
      },
      {
        "text": "prefix",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update firewall domain-group",
    "description": "Resolve a domain group's DNS names now and program its set.",
    "long-help": "Asks for each name in the group at once rather than waiting for\nits TTL. A name that fails to resolve keeps the addresses Ze\nalready had for it, and only a name that answers NXDOMAIN empties\nits own contribution.",
    "mode": "daemon",
    "wire-method": "ze-update:firewall-domain-group",
    "args": [
      {
        "name": "name",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "update firewall domain-group <name>",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "firewall",
        "kind": "keyword"
      },
      {
        "text": "domain-group",
        "kind": "keyword"
      },
      {
        "text": "name",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update firewall irr all",
    "description": "Refresh all cached IRR prefix-lists.",
    "long-help": "Re-queries the IRR server for every cached\nASN/AS-SET entry and updates the zefs cache on success. A failed refresh\npreserves the existing cache and reports an error.",
    "mode": "daemon",
    "wire-method": "ze-update:firewall-irr-all",
    "usage": "update firewall irr all",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "firewall",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "all",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update firewall irr as-set",
    "description": "Fetch or refresh IRR prefix-list for an AS-SET.",
    "long-help": "Queries the IRR server and saves resolved prefixes\nto the zefs cache.",
    "mode": "daemon",
    "wire-method": "ze-update:firewall-irr-as-set",
    "args": [
      {
        "name": "as-set",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "update firewall irr as-set <as-set>",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "firewall",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "as-set",
        "kind": "keyword"
      },
      {
        "text": "as-set",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update firewall irr asn",
    "description": "Fetch or refresh IRR prefix-list for an ASN.",
    "long-help": "Queries the IRR server and saves resolved prefixes\nto the zefs cache. Creates the cache entry if it does not exist.",
    "mode": "daemon",
    "wire-method": "ze-update:firewall-irr-asn",
    "args": [
      {
        "name": "asn",
        "type": "string",
        "mandatory": true
      }
    ],
    "usage": "update firewall irr asn <asn>",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "firewall",
        "kind": "keyword"
      },
      {
        "text": "irr",
        "kind": "keyword"
      },
      {
        "text": "asn",
        "kind": "keyword"
      },
      {
        "text": "asn",
        "kind": "value"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update resolve rir",
    "description": "Refresh the RIR delegation table from the five registry delegation files.",
    "long-help": "Fetches the delegation file of each of the five Regional Internet\nRegistries, parses them, and stores one table under the meta/rir/delegation key.\nAll-or-nothing: a run in which any fetch or parse fails stores nothing and\nleaves the previous copy in place.",
    "mode": "daemon",
    "wire-method": "ze-update:resolve-rir",
    "usage": "update resolve rir",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "resolve",
        "kind": "keyword"
      },
      {
        "text": "rir",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update serve",
    "description": "Serve this binary and its version manifest for update checks.",
    "long-help": "The server answers a version manifest, the running binary and its SHA-256 digest. It is meant for build infrastructure rather than for a router in production.",
    "mode": "offline"
  },
  {
    "path": "update system firmware apply",
    "description": "Full upgrade: download, verify, stage, and restart.",
    "long-help": "Runs the complete update cycle in one command. Only available on platforms\nwhere Ze owns the update lifecycle (e.g. gokrazy). The box will reboot into\nthe new version.",
    "mode": "daemon",
    "wire-method": "ze-update:system-firmware-apply",
    "usage": "update system firmware apply",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "firmware",
        "kind": "keyword"
      },
      {
        "text": "apply",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update system firmware check",
    "description": "Check for a new firmware version right now.",
    "long-help": "Bypasses the scheduled interval timer and contacts the update server\nimmediately. Compare the result with 'show system update'.",
    "mode": "daemon",
    "wire-method": "ze-update:system-firmware-check",
    "usage": "update system firmware check",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "firmware",
        "kind": "keyword"
      },
      {
        "text": "check",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update system firmware download",
    "description": "Download the latest firmware image right now.",
    "long-help": "Bypasses the maintenance window and spread timers. The image is staged but not\napplied. Use 'update system firmware apply' or 'restart' to activate it.",
    "mode": "daemon",
    "wire-method": "ze-update:system-firmware-download",
    "usage": "update system firmware download",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "firmware",
        "kind": "keyword"
      },
      {
        "text": "download",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update system firmware restart",
    "description": "Reboot into the already-staged firmware.",
    "long-help": "No download happens. Use this after 'update system firmware download' when you\nare ready to activate the new version.",
    "mode": "daemon",
    "wire-method": "ze-update:system-firmware-restart",
    "usage": "update system firmware restart",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "firmware",
        "kind": "keyword"
      },
      {
        "text": "restart",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "update system firmware rollback",
    "description": "Roll back to the previous firmware and restart.",
    "long-help": "Reverts to the prior image. Only available on platforms with A/B partitioning\n(e.g. gokrazy). Use this if the new version has issues.",
    "mode": "daemon",
    "wire-method": "ze-update:system-firmware-rollback",
    "usage": "update system firmware rollback",
    "grammar": [
      {
        "text": "update",
        "kind": "keyword"
      },
      {
        "text": "system",
        "kind": "keyword"
      },
      {
        "text": "firmware",
        "kind": "keyword"
      },
      {
        "text": "rollback",
        "kind": "keyword"
      }
    ],
    "operators": [
      {
        "name": "json",
        "class": "global",
        "available": "always",
        "description": "JSON output"
      },
      {
        "name": "ndjson",
        "class": "global",
        "available": "always",
        "description": "One JSON object per line"
      },
      {
        "name": "table",
        "class": "global",
        "available": "always",
        "description": "Render as table"
      },
      {
        "name": "text",
        "class": "global",
        "available": "always",
        "description": "Space-aligned columns"
      },
      {
        "name": "yaml",
        "class": "global",
        "available": "always",
        "description": "YAML output"
      },
      {
        "name": "raw",
        "class": "global",
        "available": "always",
        "description": "Dispatcher JSON, unformatted"
      },
      {
        "name": "no-more",
        "class": "global",
        "available": "always",
        "description": "Disable paging"
      },
      {
        "name": "log",
        "class": "stream",
        "available": "when-streaming",
        "description": "Append each update instead of replacing it, where the command keeps answering"
      },
      {
        "name": "save",
        "class": "global",
        "available": "always",
        "local-only": true,
        "description": "Write the answer to a file"
      },
      {
        "name": "match",
        "class": "data",
        "available": "with-rows",
        "description": "Keep the rows holding this text"
      },
      {
        "name": "count",
        "class": "data",
        "available": "with-rows",
        "description": "Count the rows"
      },
      {
        "name": "first",
        "class": "data",
        "available": "with-rows",
        "description": "Take first N rows"
      },
      {
        "name": "last",
        "class": "data",
        "available": "with-rows",
        "description": "Take last N rows"
      },
      {
        "name": "display",
        "class": "data",
        "available": "with-rows",
        "description": "Answer with these fields, in this order"
      },
      {
        "name": "fill",
        "class": "data",
        "available": "with-rows",
        "description": "Bring the remaining columns back, in the command's order or a named one"
      }
    ]
  },
  {
    "path": "validate config",
    "description": "Check a config for errors without applying it.",
    "long-help": "Both the grammar of the file and the meaning of its values are checked, and each problem is reported with the diagnostic code that explains it.",
    "mode": "offline"
  }
]
