FabrikFabrik
FabrikQuery Builder

Query Builder

Fabrik's visual query builder — how the canvas works, what each node does, and how a dragged graph turns into real APIC queries.

The Query Builder is Fabrik's centre of gravity. It's where you turn a network question — "which tenants have no EPGs?", "which bridge domains are unicast-routing-disabled?" — into something you can run against a live APIC, save, schedule, or feed into automation. No YAML, no hand-built REST paths, no token juggling.

The mental model

Every query is a graph. You drag nodes onto a canvas, connect them with edges, and the shape of that graph describes the query:

  • A Start node binds the graph to one of your saved APIC connections — nothing runs without it.
  • One or more Class nodes tell Fabrik which ACI objects to ask for (fvTenant, fvBD, vzBrCP, …). The MIM graph you loaded earlier is what makes these classes legal; the canvas won't let you connect shapes that don't fit the ACI hierarchy.
  • Filter nodes narrow the result set using APIC's own filter language — equality, prefix, wildcard, regex.
  • Post-Processor nodes transform the result after it comes back — pick fields, extract DNs, derive counts, join tables.
  • An Output node terminates the graph. Every runnable query has exactly one, and it's where you set result format, pagination, Time Machine tracking, and whether the query counts as an AWX validation source.

Fabrik compiles the graph into a concrete APIC REST path at run time, validates it against the Neo4j MIM, executes it through the Start node's connection, and hands the results to the Output node. All of that happens in a few hundred milliseconds for a small query.

What's in this section

New to ACI itself? You don't need to be an expert, but the query builder assumes you know what a tenant, a bridge domain, or an EPG is. If those terms are unfamiliar, Cisco's ACI fundamentals documentation is the right place to catch up before this section starts naming classes.

How to read this section

If this is your first look at the canvas, the sensible path is top-to-bottom — Canvas basics then Node types give you the mechanics and the vocabulary, and every later page assumes both.

If you're already running queries and looking for specifics, jump straight to the page you need. Each one stands on its own and links back to whatever it depends on. Filters, post-processors, and variables are the most commonly revisited.