Querying nodes is accomplished by making an HTTP request to the
endpoint with a JSON-formatted parameter called
The HTTP method must be
There must be an
query parameter is a similar format to resource queries.
Only queries against facts and filters based on node activeness are currently supported.
These terms must be of the form
["fact", <fact name>] or
Accepted operators are:
[= > < >= <= and or not]
Inequality operators are strictly arithmetic, and will ignore any fact values which are not numeric.
Note that nodes which are missing a fact referenced by a
not query will match
This query will return active nodes whose kernel is Linux and whose uptime is less than 30 days:
["and", ["=", ["node", "active"], true], ["=", ["fact", "kernel"], "Linux"], [">", ["fact", "uptime_days"], 30]]
query parameter is supplied, all nodes will be returned.
The response is a JSON array of node names matching the predicates, sorted in ascending order:
["foo.example.com", "bar.example.com", "baz.example.com"]