Forum Discussion
CLI Tool for BIG-IP - f5 cli
I'm releasing a CLI tool for inspecting and manipulating configuration. It’s a whole suite of tools in one, from `f5 grep` through to the advanced jq-style `f5 query`
This tool is based on my last 20 years of using and abusing BIG-IP, and the ideas behind all the tooling I built along the way.
https://github.com/bitwisecook/tcl-lsp/blob/main/INSTALL-cli.md
https://github.com/bitwisecook/tcl-lsp/tree/main/docs/references/f5_query
https://github.com/bitwisecook/tcl-lsp/tree/main/samples/for_f5_query
there’s lots of documentation, worked examples, KCS style docs covering it, contending help including shell completion support.
It requires Python 3.10+ for now.
feel free to discuss here or raise issues on GitHub.
This is part of my much larger work on an LSP, MCP, and AI tooling for all editors and harnesses to improve f5 tooling.
The `query` verb can do stuff like
$ f5 query --name ltm=ltm.conf --name gtm=gtm.conf --merge --raw '
$gtm.gtm.wideip[] as $w
| $w.pools[] as $gp
| $gp.members[]
| last(split(., ":")) as $vspath
| $ltm.ltm.virtual[]
| select(."full-path" == $vspath) as $vs
| $vs.pool.members[]
| tsv($w.name, $gp.name, $vs.name, $vs.pool, .address, port(.name))
' ltm.conf gtm.conf | sort -uapi.example.com api_app_pool api_vs /Common/api_pool 10.0.2.20 8443
api.example.com api_app_pool api_vs /Common/api_pool 10.0.2.21 8443
www.example.com example_app_pool web_vs /Common/web_pool 10.0.1.10 80
www.example.com example_app_pool web_vs /Common/web_pool 10.0.1.11 80
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com