- 23 Oct 2024
-
DarkLight
-
PDF
IAG Platform
- Updated on 23 Oct 2024
-
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.
Key Features
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.