Now that we have covered the basics of the system (built-in) tasks within Intersight, we can cover tasks that utilize executors. Executors are tasks for launching automation, which can be run externally to Intersight.
There are four executors within Intersight which can be leveraged for external automation, which are the following:
- Invoke Ansible Playbook
- Invoke PowerShell Script
- Invoke SSH Commands
- Invoke Web API Request
Infrastructure as Code Executors
For running the SSH commands, Ansible playbook, or PowerShell scripts, each of these options will be run on an external endpoint, which is a target (think of this as a jump box in an environment) that is previously claimed within Intersight for each specific executor use.
While a single host can perform the functions of one or more executors, you must configure an endpoint target with the appropriate details for each function. These connection details include options such as name, management address (IP address), port, and credentials (username/password, or username/SSH key).
API Executor
For running an API request from Intersight, this action can be taken against an API (either HTTP or HTTPS) on a natively supported endpoint that Intersight will invoke a request against or an HTTP endpoint specifically added to Intersight as a specific target.
The natively supported API endpoints for Intersight to invoke a request against include options for Cisco UCS Director, Everpure FlashArray, VMware vCenter Server, Terraform Cloud, and Cisco Application Policy Infrastructure Controller (APIC). NOTE: Being a natively supported API endpoint within Intersight means they are tested and verified for functionality with Intersight.
If a user needs to run API requests against another API, whether publicly accessible or on the customer premises, you must configure an endpoint target with the appropriate details for the HTTP(S) endpoint. These connection details include options such as if Intersight Assist is used for the connection (for an API on customer premises) name, hostname/IP address, port, any authentication required (username/password, or bearer token), and whether the connection to the target should be established using HTTPS.