Class 1 - Single Call Security iControl LX REST API Lab

This class will teach you how to create F5 iControl REST API Extensions. If you are not familiar with the iControl REST API, please review the Introduction to Automation & Orchestration lab.

While this guide assumes no prior experience with the iControl LX framework, it does assume that the reader has obtained a basic understanding of REST APIs, Javascript, event-driven programming.

For more about Node.js, refer to:

If you want to get in on the awesome world of Node.js, I highly recommend the free on-line training resource at Codecademy to get you started.

What is iControl?

iControl is the REST API implemented on F5’s BIG-IP devices and the iWorkflow platform.

What is iControl LX?

iControl LX (iControl Language eXtension) is the framework upon which F5’s iControl REST API is developed, among other things, as show in the following diagram:


What is an iControl LX Extension?

An iControl LX Extension represents additional functionality built upon the iControl LX framework, and presented through the iControl REST API.


F5 has already developed some iControl LX Extensions to simplify operational processes. These extensions are available on DevCentral and are built to address the following use cases:

  • BIG-IP Device On-boarding / Device config reset
  • Create BIG-IP Cluster

This training lab concerns itself with teaching you how to develop your own iControl LX Extensions.


What else does the iControl LX framework do?

You will notice that the iControl LX framework is referenced in F5 iAppsLX. iAppsLX use specialist iControl LX workers, in addition to an optional presentation layer, to deliver F5’s next generation application templating system.


What is iControl LX made of?

The iControl LX framework consists of a Node.js implementation, in addition to supporting services that enable interaction with F5 technologies. For example, developers can use restOperation() to communicate with a trusted BIG-IP device instead of crafting an HTTP transaction and coding the auth/trust themselves.

As the DevOps mantra says, “Fail Fast, Fail Forward!”