Advantages of using iApps for automation instead of plain ansible, plain REST calls, etc...
When deploying configurations as iApps the configurations are self-contained, that is: on delete all objects created by the iApp are automatically deleted and there will be no stale configurations left
iApps can be deployed with ansiblle, REST, etc... configurations just become easier to deploy because regardless the configuration size only two calls are quired: one call to import the template (if it is not already in the BIG-IP) and one to create an instance of the iApp.
tmsh2iapp allows creation of iApps that contain base configs too (ie: L1/L2/L3 network elements including non floating ones) which can be sync'ed in HA configurations seamlessly.
Main characteristics of tmsh2iapp
Allows creating an iApp using a declarative tmsh-like syntax (these are called .t2i files)
It has been used with LTM, ASM (limited support in v12 full support in v13+), APM, AFM and PEM modules.
Baseline .t2i files can be created easily with the BIG-IP GUI
Helps deploying the iApp by creating sample Ansible roles & playbooks, Heat templates and iWorkflow JSON files
Input varialbles can be JSON lists (ie: multiple-choice/multiple-select survey variables in Ansible Tower)
Can easily create iApps that contain base configurations (self-IPs, VLANs, etc...) that can be deployed in a BIG-IP cluster and config-sync'ed assigning per-BIG-IP values appropiately.
It can be used in any computer with perl installed -- including the BIG-IP
It supports passing parameters as JSON lists (useful for handling multiple-choice/multiple-select survey variables in Ansible Tower or any other YAML based automation)
It is not BIG-IP version specific but it is being tested with BIG-IP 11.6-13.1
Supports route-domains and partitions
Supports LTM policies
Options available to beautify the GUI allowing specifying field text width, validators, and single and multi-selector which lists that can be static or dynamically populated at run time.
It allows importing (from external files or URL) the following configuration objects:
apache-ssl-cert SSL certificates management
asm-policy ASM policies
browser-capabilities-db browser capabilities DB file management
data-group External Data Group files management
device-capabilities-db Device capabilities DB file management