- 08 Apr 2025
-
DarkLight
-
PDF
IAG Platform
- Updated on 08 Apr 2025
-
DarkLight
-
PDF
Automation Execution
Itential Automation Gateway (IAG) is a server-based application that provides centralized management and execution of multiple types of scripts (automations), including Ansible® playbooks, Python scripts, OpenTofu plans, and other forms of executable code. IAG enables your existing code to be safely executed by other orchestration systems that will execute it as a clearly defined step in a more comprehensive business process.
To watch a demo, take a tour, listen to podcasts and more, go to Itential Automation Gateway.
As a network automation solution, Automation Gateway:
- Provides an interface called “decorations” to easily define a REST API for a script, playbook or plan.
- Auto-generates and hosts REST APIs and basic API documentation for each of your decorated scripts, playbooks and plans.
- Provides a centralized device inventory interface, so multiple scripts, playbooks and plans can leverage the same inventories.
- Provides a centralized secrets management interface, so credentials and application secrets can be securely implemented in scripts, playbooks and plans (without saving the credentials in your code).
- Provides configuration parameters for your Ansible® execution environment or Python virtual environment.
- Natively supports the HTTP protocol and HTTPS via proxy for client/server communication.
- Supports multiple inventory systems (Ansible, Nornir, etc) and sources (internal or external) for managing devices.
Automation Frameworks
In addition to management and execution of your scripts, playbooks and plans, IAG implements more granular interfaces to popular network automation technologies by generating and hosting REST APIs for selected interfaces in their libraries. Some of the popular supported interfaces are listed below.
Ansible
- Discover and execute the network family of Ansible modules.
- Discover and execute Ansible certified roles.
- Discover and execute any Ansible playbooks.
- Discover and execute any Ansible Collections.
- Install Ansible Galaxy Collections.
- Enable intelligent Ansible module/role/playbook decorations to specify and validate the required input parameters.
- Access and update Ansible hosts (inventory).
For architecture and concepts associated with Ansible, which is relatively common in the Python network automation space, see:
Itential Automation Gateway has been updated to address issues related to using the UI to view execution output and execution output history for Ansible playbooks when the output exceeds 1MB. In both cases, if IAG detects the output is greater than 1MB, the raw output will not be displayed in the browser. Users will have the option of downloading the output to their system.
Nornir
- Discover and execute user provided Nornir modules.
- Enable intelligent Nornir module decorations to specify and validate the required input parameters.
- Access Nornir configuration and hosts (inventory).
Netmiko
- Establish connections with a wide range of Netmiko-supported devices.
- Execute the
send_command
function to gather data from devices. - Execute the
send_config_set
function to configure devices.
OpenTofu (Open Source of Terraform)
- Discover and execute user provided OpenTofu modules.
- Enable intelligent OpenTofu module decorations to specify and validate the required input parameters.
- Execute OpenTofu actions such as Initialize, Plan, Apply, Destroy, Validate.
- To install and configure IAG, go to the sections on installation and configuration, respectively.
- Details on how to enhance and decorate an existing schema for content such as an Ansible Module/Role/Playbook, Nornir Module, or custom scripts is found within Operations.
- Discover how to interact with API definitions through an interactive API documentation UI.
- Review guidelines to some issues in Troubleshooting IAG.
IAG Compatibility with Itential Platform
All supported versions of Itential Automation Gateway (IAG), including the latest IAG 4.3.0 package release, are tested for compatibility with all supported versions of Itential Platform, which includes 2022.1 and higher. Please note that new features added in various versions of IAG might not be available in all versions of Itential Platform because a specific version of the Platform may lack the functionality to make use of that feature.
Refer to the following table to identify the IAG versions compatible with Itential Platform versions.
Itential Platform Version | IAG/2022.1 | IAG/2023.1 | IAG/2023.2 | IAG/2023.3 | IAG/4.3 |
---|---|---|---|---|---|
Itential Cloud - Hosted Version 2023.2 (as of March 1, 2025) |
Yes | Yes | Yes | Yes | Yes |
Platform 6.0.0 | Yes | Yes | Yes | Yes | Yes |
2023.2 | Yes | Yes | Yes | Yes | Yes |
2023.1 | Yes | Yes | Yes | Yes | Yes |
2022.1 | Yes | Yes | Yes | Yes | Yes |
If a version of Itential Platform does not provide support for a feature in a version of IAG, the versions remain compatible, but Itential Platform will not be able to use that feature in IAG.
IAG Versioning Practices
All supported versions of IAG are assigned unique identifiers (version numbers) to help manage different versions and releases of the software to ensure customers can access the correct version they need.
Here's an explanation of how Itential names IAG versions to help you understand the nature of changes between versions:
-
Component Version - This identifies the build version of the Platform application (i.e., IAG) distributed in a maintenance release. For each change made to the source code as part of a development build, whether it's a bug fix or improvement, there is a
component
version bump. Components are versioned independently of product release versions. Also, multiple builds can be created for a single Release Version. -
Release Version - This identifies the Platform release version of IAG made available to customers in a maintenance release. Release versioning helps to track different iterations of the software and increments each month as part of the maintenance release.
Each versioning scheme is purposely designed to provide a structured mechanism of releasing and tracking Itential's product versions, enabling developers to identify bugs more efficiently and maintain code integrity.
If you need additional support or require more information about Itential's versioning, please contact our Product Support Team.