External APIs - BIG-IP TMOS Operations Guide
External APIs - BIG-IP TMOS Operations Guide
Operations Guide
Applies to:
Contents
Chapter sections
At a glance–Recommendations
Background
BIG-IP APIs and automation interfaces
tmsh
iControl
iApps
iCall
iRules
SNMP
F5 Automation Tool Chain
Procedures
Recommended practices
tmsh authentication and authorization configuration
iControl authentication and authorization configuration
iApps authentication and authorization configuration
iCall authentication and authorization configuration
SNMP authentication and authorization configuration
At a glance–Recommendations
F5 has not identified any recommendations for this section.
Background
This section provides context for our recommended procedures in the form of overviews and supplemental information.
The BIG-IP system contains or uses the following APIs and programming or automation interfaces:
tmsh
tmsh is the BIG-IP command-line interface (CLI). It shares many of the same properties and features of other networking and
systems industry shells, such as Advanced Shell (bash), Cisco IOS, and Juniper JunOS. tmsh uses a Tool Command Language (Tcl)
syntax and command-set, which has been expanded and extended by F5 for tmsh.
BIG-IP single configuration file (SCF) and on-disk configuration files are all written in native tmsh syntax and have advanced
scripting capabilities, all based on F5 enhancements to Tcl.
tmsh is the basis for other interfaces, such as iApps and iCall, and is the base mapping for iControl REST.
tmsh can be used to automate any tmsh commands.
For more information:
iControl
iControl is the open, web services-based API used by the BIG-IP system that allows complete, dynamic, programmatic control of F5
configuration objects. It enables applications to work in concert with the underlying network based on true software integration.
iControl comes in two forms, iControl SOAP and its successor iControl REST. While both forms are supported, iControl SOAP is no
longer being fully developed and is in the process of being deprecated. New implementations should use iControl REST.
iControl SOAP is based on Simple Object Access Protocol (SOAP), a legacy protocol which was once very popular for web-based
APIs. iControl SOAP was released in BIG-IP 9.0. It is more difficult to program in than iControl REST, but external libraries are
available to assist in writing code.
iControl REST uses modern web standards in the form of Representational State Transfer (REST) and JavaScript Object Notation
(JSON). iControl REST is used in BIG-IP systems 11.4 and later. Its API is based on tmsh, sharing the same overall layout and
structure. It is essentially a JSON version of tmsh that adheres to REST standards. iControl REST complies with modern web-based
programming paradigms and is easier to use and implement than iControl SOAP.
iControl LX allows you to extend iControl functionality with a custom REST API endpoint. iControl LX runs on a node.js daemon
called restnoded, so you must create the extension using the JavaScript programming language. For more information, refer to
iApps LX/iControl LX Documentation.
iControl automation is generally written using systems and languages external to the BIG-IP system. It is your responsibility to
ensure they are properly versioned and backed up.
iApps
iApps is the BIG-IP system framework for deploying services-based, template-driven configurations on BIG-IP systems running BIG-
IP 11.0.0 and later. iApps allows creation of application-centric deployment interfaces on BIG-IP systems, reducing configuration
time and increasing accuracy of complex traffic management implementations. The goal of iApps is to enable Subject-Matter
Experts (SME) to build finely tuned configurations that can be deployed by administrators who possess application-level expertise
without requiring them to be concerned about lower-level networking details.
The iApps is primarily used to package and deliver expert-created configurations to a non-expert audience. Its implementation
language is standard tmsh scripting with environmental variables for Application Presentation Language (APL) user selections. It
uses the F5-specific APL to render a user-facing presentation interface. It allows prescriptive abstraction of repeatable
configurations based on user-facing input.
Configuration information is stored in UCS and SCF backups by default, with no special action required. For more information, refer
to Backup and Data Recovery.
iApps LX is built on the iControl LX framework and allows you to create iApps with any externally managed device that accepts API
requests, such as an OpenStack interface, LDAP server, or cloud connector. Since the feature relies on the iControl LX framework,
which runs on a node.js daemon called restnoded, you must create iApps LX Application Services using the JavaScript
programming language. For more information, refer to iApps LX/iControl LX Documentation.
/var/tmp/script.log — All non-APL output from iApp Templates goes to this file.
iCall
iCall is an event-based automation system for the BIG-IP control plane, introduced in BIG-IP 11.4. It can send and receive external
events using any ports or protocols and can be useful for integration into upstream orchestration, or for driving orchestration
directly from the BIG-IP system.
It uses standard tmsh syntax and is still in the early phases of development, so there is minimal documentation. All events are user-
defined and none of the internal events are currently exposed.
Configuration information is stored in UCS and SCF backups by default, with no special action required. For more information, refer
to Backup and Data Recovery.
/config/bigip_script.conf — Stores all iCall configuration and scripts added to the system.
iRules
iRules is a powerful and flexible feature within BIG-IP Local Traffic Manager (LTM) that you can use to manage your network traffic.
Using syntax based on the industry-standard Tools Command Language (Tcl), greatly enhanced by F5, iRules not only allows you to
select pools based on header data, but also allows you to direct traffic by searching on any type of content data that you define.
Thus, the iRules feature significantly enhances your ability to customize your content switching to suit your exact needs.
iRules fully exposes BIG-IP internal Traffic Management Microkernel (TMM) packet/data processing, allowing inspection,
manipulation and optimization and contains a number of mechanisms for exporting information out of the data-plane.
Out-of-band/side-band connections: Enable asynchronous communication with outside hosts from within TMM/iRules. (For more
information, refer to iRules Sideband documentation on DevCentral.
iRules LX is a way to extend iRules to use the capabilities of node.js. You can use iRules LX by way of RPC where you can send a
portion of code to node.js to run and return the results. You can also use it by way of the streaming interface where you employ an
ILX profile. You must create iRule LX scripts with the JavaScript programming language. For more about iRules LX, refer to
iRulesLX Home.
iFiles: Stores data/content files and external class-lists for use by iRules.
iStats: iRules variables that are accessible in tmsh and the other control-plane languages (iApps, iCall, and so on.). It is the
primary vehicle for information sharing between control-plane and data-plane.
iRules management
Configuration information is stored in UCS and SCF backups by default, with no special action required. For more information, refer
to Backup and Data Recovery.
SNMP
SNMP is an industry-standard application-layer protocol, most commonly used by centralized monitoring and automation systems.
It is a part of the TCP/IP protocol suite.
SNMP Management
Configuration information is stored in UCS and SCF backups by default, with no special action required. For more information, refer
to Backup and Data Recovery.
The supported method for modifying the SNMP configuration is using tmsh. Editing the SNMP configuration files directly is not
supported and likely results in loss of configuration changes.
Files related to SNMP
The F5 Automation Tool Chain is a suite of software that enables you to programmatically configure BIG-IP systems using
infrastructure as code (IaC). It is comprised of the following:
Procedures
There are no specific procedures required for maintaining the operational efficiency of these interfaces. However, there are some
recommended practices to keep in mind when implementing them.
Recommended practices
The BIG-IP system APIs and interfaces are powerful tools and must be created and maintained with the same care as any other
software development project. Inconsistent naming conventions, missing code comments, and unreviewed code combined with
weak change management are the source of many upgrade and maintenance issues.
Upgrades
Before upgrading, verify there are no behavior changes when upgrading in a lab or pre-production environment.
After upgrading, confirm operation and functionality of each interface.
Log review
Configuration information is stored in UCS and SCF backups by default, with no special action required. For more information, refer
to Backup and Data Recovery.
Port lockdown specifies the protocols and services from which a self IP address can accept traffic. It is a security feature that allows
you to specify particular UDP and TCP protocols and services from which the self IP address can accept traffic. By default, a self IP
address accepts traffic from these protocols and services:
For UDP, the allowed protocols and services are: DNS (53), SNMP (161), RIP (520).
For TCP, the allowed protocols and services are: SSH (22), DNS (53), SNMP (161), HTTPS (443), 4353 (iQuery).
You access tmsh remotely using SSH on port 22. Management port 22 is available on the management interface by default. If self
IP addresses are not configured to allow port 22 to receive traffic for tmsh, you need to configure port lockdown settings.
For more information, refer to the Self IP Addresses chapter in the BIG-IP TMOS: Routing Administration guide.
Note: For information about how to locate F5 product manuals, refer to K98133564: Tips for searching AskF5 and finding product
documentation.
iControl uses the same user role as tmsh and the BIG-IP Configuration utility.
Assigning iControl administrative rights at the command line
Port lockdown specifies the protocols and services from which a self IP address can accept traffic. It is a security feature that allows
you to specify particular UDP and TCP protocols and services from which the self IP address can accept traffic. By default, a self IP
address accepts traffic from these protocols and services:
For UDP, the allowed protocols and services are: DNS (53), SNMP (161), RIP (520)
For TCP, the allowed protocols and services are: SSH (22), DNS (53), SNMP (161), HTTPS (443), 4353 (iQuery)
Note: Management port 443 is available on the management interface by default. BIG-IP 11.6.0 and earlier do not support port
filtering on the management port interface.
You access iControl remotely via HTTPS on port 443. If self IP addresses are not configured to allow port 443 to receive traffic for
iControl, you need to configure port lockdown settings.
tmsh
For more information, refer to the Self IP Addresses chapter in the BIG-IP TMOS: Routing Administration guide.
Note: For information about how to locate F5 product manuals, refer to K98133564: Tips for searching AskF5 and finding product
documentation.
tmsh
Setting up self IP port lockdown to accept Configuration utility traffic on port 443
Port lockdown specifies the protocols and services from which a self IP address can accept traffic. It is a security feature that allows
you to specify particular UDP and TCP protocols and services from which the self IP address can accept traffic. By default, a self IP
address accepts traffic from these protocols and services:
For UDP, the allowed protocols and services are: DNS (53), SNMP (161), RIP (520).
For TCP, the allowed protocols and services are: SSH (22), DNS (53), SNMP (161), HTTPS (443), 4353 (iQuery).
Note: Management port 443 is available on the management interface by default. BIG-IP 11.6.0 and earlier do not support port
filtering on the management port interface.
You access iApps on the Configuration utility by way of HTTPS on port 443. If self IP addresses are not configured to allow port
443 to receive traffic for iControl, you need to configure port lockdown settings.
tmsh
For more information, refer to the Self IP Addresses chapter in the BIG-IP TMOS: Routing Administration guide.
Note: For information about how to locate F5 product manuals, refer to K98133564: Tips for searching AskF5 and finding product
documentation.
tmsh
iCall access
iCall is a local event system for the BIG-IP system. It does not have any ports available.
tmsh
SNMP automation includes systems and languages external to the BIG-IP system.
Important: There is no user-based authentication or authorization for SNMP. Anyone with access to the port can send and
receive information. Do not expose SNMP to uncontrolled networks.
Setting up self IP port lockdown to accept SNMP traffic on port 161
Port lockdown specifies the protocols and services from which a self IP address can accept traffic. It is a security feature that allows
you to specify particular UDP and TCP protocols and services from which the self IP address can accept traffic. By default, a self IP
address accepts traffic from these protocols and services:
For UDP, the allowed protocols and services are: DNS (53), SNMP (161), RIP (520)
For TCP, the allowed protocols and services are: SSH (22), DNS (53), SNMP (161), HTTPS (443), 4353 (iQuery)
You access SNMP on port 161. If self IP addresses are not configured to allow port 161 to receive traffic for SNMP, you need to
configure port lockdown settings.
tmsh
For more information, refer to the Self IP Addresses chapter in the BIG-IP TMOS: Routing Administration guide.
Note: For information about how to locate F5 product manuals, refer to K98133564: Tips for searching AskF5 and finding product
documentation.
Related Content
About operations guides
Optimizing the support experience
The iApps Home page on F5 Cloud Docs
The iControl (SOAP) Home page on F5 Cloud Docs
The iCall module page on F5 Cloud Docs
The iRules Home page on F5 Cloud Docs
BIG-IP iHealth User Guide
Note: For information about how to locate F5 product manuals, refer to K98133564: Tips for searching AskF5 and finding
product documentation.
Was this information helpful?
Yes No
Yes No
Contact Support
ABOUT F5 +
EDUCATION +
F5 SITES +
SUPPORT TASKS +