I am extending my demo script to demonstrate the viability to use iControl with our orchestrator for automatic F5 load balancer server provisioning.
I need to write a function to enumerate the pools and virtual servers, and here is how it is done. See the basic concept of F5 SDK here: https://f5-sdk.readthedocs.io/en/latest/userguide/basics.html
The collection has a method call
get_collection() using this can easily enumerate existing pools and virtual server names.
Here’s the sample code:
from f5.bigip import ManagementRoot try: ltm = ManagementRoot("192.168.1.11", "admin", "121278").tm.ltm except Exception as e: print(e) exit(1) # Collect the names of available pools and virtual servers. pools = ltm.pools.get_collection() vses = ltm.virtuals.get_collection() # list the collections for pool in pools: print(pool.name) for vs in vses: print(vs.name)