This repository contains sample Python code for Intersight Cloud Orchestrator (ICO)
DISCLAIMER: This is NOT an official Cisco repository and comes with NO WARRANTY AND/OR SUPPORT
Please check LICENSE-CISCO for additional details
- Generate an API key and secret from Intersight
- Take note of the
API Key ID
, download and store theSecret Key
in your filesystem - Set the
INTERSIGHT_API_KEY_ID
and theINTERSIGHT_API_PRIVATE_KEY
environment variables with theApi Key ID
and theSecret Key
path respectively. Theenv-linux-mac-example.sh
file contains an example for Linux and MacOS. - (optional) Create a Virtualenv:
python3 -m venv .venv && source .venv/bin/activate
- Install Intersight Python SDK:
pip install intersight
Use Case 1: Get all Workflows
Script: ico_wf_get_definitions_list.py
Returns: All workflow definitions data in JSON format
Use Case 2: Get Definition of a Specific Workflow
Script: ico_wf_get_definition_by_name.py
Usage: Set the workflow_name
variable with the workflow name you want to fetch (i.e. "Deploy a Virtual Machine"
Returns: Server response in JSON format of the requested workflow definition
Use Case 3: Get all Requests
Script: ico_wf_get_requests_list.py
Returns: All execution requests data in JSON format
Use Case 4: Get a specific Request
Script: ico_wf_get_request_by_moid.py
Usage: Set the moid
variable with the request moid you want to fetch
Returns: Server response in JSON format of the requested workflow execution
Use Case 5: Get Task Outputs of a specific Workflow Execution
Script: ico_wf_get_request_tasks_outputs_by_moid.py
Usage: Set the moid
variable with the request moid you want to fetch
Returns: Outputs of the Task Executed in the specific request
Use Case 6: Execute a Workflow
Script: ico_wf_execute_by_name.py
Usage: Set variables based on your workflow definition (see code for examples)
Returns: Server response in JSON format, a summary of the request moid and the user who invoked the execution
Use Case 7: Rollback a Workflow
Script: ico_wf_rollback_by_moid.py
Usage: Set the workflow_moid
variable with the request moid you want to rollback
Returns: Moid of the rollback request, Moid of the rollbacked request and Status
Use Case 1: Get Tasks Definitions
Script: ico_tasks_get_definitions_list.py
Returns: All tasks definitions data in JSON format
Use Case 2: Get Task Definition by Name
Script: ico_tasks_get_definition_by_name.py
Usage: Set the name
variable with the task moid you want to fetch
Returns: Server response in JSON format of the requested task definition
Use Case 3: Get Task Definition by Moid
Script: ico_tasks_get_definition_by_moid.py
Usage: Set the moid
variable with the task moid you want to fetch
Returns: Server response in JSON format of the requested task definition
Use Case 1: Get Data Types Definitions
Script: ico_datatypes_get_definitions_list.py
Returns: All Data Types definitions data in JSON format
Use Case 2: Get Data Type Definition by Moid
Script: ico_datatypes_get_definition_by_moid.py
Usage: Set the moid
variable with the task moid you want to fetch
Returns: Server response in JSON format of the requested Data Type definition
Use Case: Show ICO Workflows, Tasks and Data Types summary stats
Script: ico_statistics_get.py
Sample Output:
### Workflow Designer Statistics ###
Total Workflows: 157
System Workflows: 29
User Workflows: 128
Valid/Invalid Workflows: 146/11
### Executions Statistics ###
Total Executions: 633
Success/Failed Executions: 387/246
Last Request: "Rollback Deploy a Virtual Machine", by user user@cisco.com, with Moid 624739d1696f6e2d315a1b21
### Task Designer Statistics ###
Total Tasks: 221
System Tasks: 145
Custom Tasks: 76
### Data Types Statistics ###
Total Data Types: 226
System Data Types: 211
Custom Data Types: 15