API Reference

iControl is the first open API that enables applications to work in concert with the underlying network based on true software integration. Utilizing SOAP/XML to ensure open communications between dissimilar systems, iControl helps F5 customers, leading independent software vendors (ISVs), and Solution Providers realize new levels of automation and configuration management efficiency. Whether monitoring network-level traffic statistics, automating network configuration and management, or facilitating next generation service-oriented architectures, iControl gives organizations the power and flexibility to ensure that applications and the network work together for increased reliability, security, and performance. Further, iControl has proven itself as a valuable technology that can help reduce the cost of managing complex environments.

Modules

Module Description
ASM The ASM module contains the Application Security Manager interfaces that enable you to get information on and work with the components, attributes, and security policies associated with the ASM module.
Classification The Classification module contains the interfaces that enable you to get information on and work with the components, attributes, and devices associated with classification.
Common The Common module contains the common set of aliases, structs, and exceptions in the iApp environment.
GlobalLB The GlobalLB module contains the Global Load Balancing interfaces that enable you to work with the components of a global load balancer system, such as data centers, servers, virtual servers, wide IPs, pools …. You can also use the interfaces in this module to work with topology attributes and global variables.
LTConfig The LTConfig module contains interfaces necessary to access configuration items that are managed by the loosely-typed configuration system. Such items include configuration parameters that historically were managed by hand access to files in the file system, or were manageable through iControl by having it access the filesystem. The LTConfig module allows you to use iControl to access a centralized database of information in a generic and regular way. The system updates daemons and other dependent agents that are affected by changed configuration parameters automatically (e.g., after a “set_values” method call).
LocalLB The LocalLB module contains the Local Load Balancing interfaces that enable you to get information on and work with the components, attributes, and devices associated with a local load balancer.
Log The Log module contains the Logging interfaces that enable you to manage logging on the system, including setting up destinations, filtering logs, and managing destinations.
Management The Management module contains all the interfaces necessary to manage the system.
Networking The Networking module contains the L2/L3 interfaces that enable you to get information on, and work with the components, attributes, and objects of Layer 2/3.
PEM The PEM (Policy Enforcement Manager) module contains the interfaces that enable you to get information on and work with the components, attributes, and devices associated with PEM.
Security The Security module contains interfaces that enable you to set up a firewall and security policies on your BIG-IP system.
System The System module contains interfaces that enable you to work with system-level services.
WebAccelerator WebAccelerator offers some limited iControl APIs, primarily for system, not end user, use.
iCall The iCall module contains interfaces permitting you to work with the iCall feature. Different places in the system are able to notify the iCall engine of events that happen on the system. Events come with contextual information describing the objects that are changing state and other details relevant to the event. You can define handlers that register interest in particular sets of events and that filter on context details associated with the incoming events. For example, you might define an event that triggers when a certain iStats value, like the number of connections on a particular virtual address, exceeds a given threshold. The contexts on the event would give information about the name of the virtual address, as well as the threshold that was exceeded. Then, a handler interested in events meeting that description would be triggered, launching a Tcl script to perform additional actions (e.g. adding a new pool member).