{
  "metadata": {
    "name": "@itentialopensource/cisco-ios-upgrade",
    "version": "0.4.6",
    "description": "[Deprecated] Itential automation Artifact for cisco ios device upgrade",
    "license": "Apache-2.0",
    "repository": {
      "type": "gitlab",
      "hostname": "gitlab.com",
      "path": "itentialopensource/pre-built-automations"
    },
    "keywords": [
      "IAP",
      "artifacts",
      "Itential",
      "Pronghorn",
      "Network",
      "Automation",
      "MOP",
      "NSO",
      "Cisco-IOS",
      "Ansible",
      "device-upgrade"
    ],
    "author": "Itential Artifacts",
    "IAPDependencies": {
      "@itential/app-json_forms": "",
      "@itential/app-workflow_engine": "",
      "@itential/app-mop": "",
      "@itential/app-operations_manager": "",
      "devices": {
        "@itential/adapter-nso": "",
        "@itential/adapter-automation_gateway": ""
      }
    },
    "gitlabId": 12091757
  },
  "manifest": {
    "bundleName": "Cisco IOS Device Upgrade Temporary",
    "fingerprint": "5f5f72f60ae3b447cb004ed1",
    "createdEpoch": "1600090870902",
    "artifacts": [
      {
        "id": "Cisco IOS Upgrade",
        "name": "Cisco IOS Upgrade",
        "type": "automation",
        "location": "/bundles/automations/Cisco IOS Upgrade.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "Cisco IOS Upgrade",
        "name": "Cisco IOS Upgrade",
        "type": "workflow",
        "location": "/bundles/workflows/Cisco IOS Upgrade.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "Cisco IOS Upgrade - Ansible upgrade",
        "name": "Cisco IOS Upgrade - Ansible upgrade",
        "type": "workflow",
        "location": "/bundles/workflows/Cisco IOS Upgrade - Ansible upgrade.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "Cisco IOS Upgrade - NSO upgrade",
        "name": "Cisco IOS Upgrade - NSO upgrade",
        "type": "workflow",
        "location": "/bundles/workflows/Cisco IOS Upgrade - NSO upgrade.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "Cisco IOS Upgrade - Connection Health Check",
        "name": "Cisco IOS Upgrade - Connection Health Check",
        "type": "workflow",
        "location": "/bundles/workflows/Cisco IOS Upgrade - Connection Health Check.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "Cisco IOS Upgrade Form",
        "name": "Cisco IOS Upgrade Form",
        "type": "json-forms",
        "location": "/bundles/json_forms/Cisco IOS Upgrade Form.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "Cisco IOS Upgrade",
        "name": "Cisco IOS Upgrade",
        "type": "mop-template",
        "location": "/bundles/mop_templates/Cisco IOS Upgrade.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "Cisco IOS Upgrade State Checks",
        "name": "Cisco IOS Upgrade State Checks",
        "type": "mop-template",
        "location": "/bundles/mop_templates/Cisco IOS Upgrade State Checks.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "Cisco IOS Upgrade",
        "name": "Cisco IOS Upgrade",
        "type": "mop-analytic-template",
        "location": "/bundles/mop_analytic_templates/Cisco IOS Upgrade.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "5f5efabcdc87324798b9fbf0",
        "name": "iosUpgradeFormData",
        "type": "transformation",
        "location": "/bundles/transformations/iosUpgradeFormData.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "601d649812e46526a828dced",
        "name": "incrementNumber",
        "type": "transformation",
        "location": "/bundles/transformations/incrementNumber.json",
        "properties": {
          "entryPoint": false
        }
      }
    ]
  },
  "bundles": [
    {
      "type": "automation",
      "data": {
        "_id": "617afa07f5b83701932b53f9",
        "name": "Cisco IOS Upgrade",
        "description": "",
        "componentName": "Cisco IOS Upgrade",
        "componentType": "workflows",
        "gbac": {
          "write": [],
          "read": []
        },
        "created": "2021-10-28T19:29:11.584Z",
        "createdBy": "zack.strulovitch@itential.com",
        "lastUpdated": "2021-10-28T19:29:11.584Z",
        "lastUpdatedBy": "zack.strulovitch@itential.com",
        "triggers": [
          {
            "_id": "617afa07f5b83701932b53fa",
            "created": "2021-10-28T19:29:11.620Z",
            "createdBy": "zack.strulovitch@itential.com",
            "lastUpdated": "2021-10-28T19:29:11.620Z",
            "lastUpdatedBy": "zack.strulovitch@itential.com",
            "name": "Manual Trigger",
            "type": "manual",
            "enabled": true,
            "actionType": "automations",
            "actionId": "617afa07f5b83701932b53f9",
            "formId": "Cisco IOS Upgrade Form",
            "formData": {
              "healthcheckVariables": {
                "numberOfRetries": 10,
                "numberOfRetriesStability": 10,
                "secondsBetweenRetry": 60
              },
              "mode": "Verbose",
              "iosDeviceHostname": "csr1kv-zack-1635438126000",
              "release": "csr1000v-universalk9.03.10.03.S.153-3.S3-ext.SPA.bin",
              "flashMemory": "bootflash:"
            }
          }
        ]
      }
    },
    {
      "type": "workflow",
      "data": {
        "name": "Cisco IOS Upgrade",
        "tasks": {
          "535": {
            "name": "runAnalyticsTemplate",
            "canvasName": "runAnalyticsTemplate",
            "summary": "Run an Analytics Template",
            "description": "Run an Analytic Template.",
            "location": "Application",
            "locationType": null,
            "app": "MOP",
            "displayName": "MOP",
            "type": "automatic",
            "variables": {
              "incoming": {
                "pre": "$var.job.pre",
                "post": "$var.fd87.mop_template_results",
                "analytic_template_name": "Cisco IOS Upgrade",
                "variables": "$var.job.variables"
              },
              "outgoing": {
                "analytic_template_results": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "run<span class='highlight-string'>Anal</span>yticsTemplate"
              },
              {
                "key": "summary",
                "highlightString": "Run an <span class='highlight-string'>Anal</span>ytics Template"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>Anal</span>ytic Template."
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 0.778039215686275,
            "y": -0.0413105413105413,
            "scheduled": false
          },
          "928": {
            "name": "runAnalyticsTemplate",
            "canvasName": "runAnalyticsTemplate",
            "summary": "Run an Analytics Template",
            "description": "Run an Analytic Template.",
            "location": "Application",
            "locationType": null,
            "app": "MOP",
            "displayName": "MOP",
            "type": "automatic",
            "variables": {
              "incoming": {
                "pre": "$var.job.pre",
                "post": "$var.9b94.mop_template_results",
                "analytic_template_name": "Cisco IOS Upgrade",
                "variables": "$var.job.variables"
              },
              "outgoing": {
                "analytic_template_results": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "run<span class='highlight-string'>Anal</span>yticsTemplate"
              },
              {
                "key": "summary",
                "highlightString": "Run an <span class='highlight-string'>Anal</span>ytics Template"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>Anal</span>ytic Template."
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 2.60392156862745,
            "y": 0.00997150997150997,
            "scheduled": false
          },
          "1121": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "is verbose",
            "description": "",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "mode",
                          "task": "1cbe"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "Verbose",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "groups": [],
            "x": -1.764514024788,
            "y": -0.123847167325428
          },
          "1615": {
            "name": "push",
            "canvasName": "push",
            "summary": "Push Item to Array",
            "description": "Push item to a job variable array",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "job_variable": "deviceArray",
                "item_to_push": "$var.1cbe.deviceString"
              },
              "outgoing": {
                "job_variable_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>push</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Push</span> Item to Array"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Push</span> item to a job variable array"
              }
            ],
            "groups": [],
            "x": -3.067954220314735,
            "y": -0.1469387755102041
          },
          "1774": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "Check for different version",
            "description": "Eval pre check for true",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "result",
                        "operand_1": {
                          "variable": "mop_template_results",
                          "task": "5233"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": true,
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "groups": [],
            "x": -1.38160469667319,
            "y": -0.115942028985507
          },
          "2096": {
            "name": "childJob",
            "summary": "Ansible",
            "description": "Run Ansible device upgrade tasks",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "task": "",
                "workflow": "Cisco IOS Upgrade - Ansible upgrade",
                "variables": {
                  "mode": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "mode"
                  },
                  "deviceString": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "deviceString"
                  },
                  "numberOfRetries": {
                    "variable": "",
                    "task": "1cbe",
                    "editable": false,
                    "value": "numberOfRetries"
                  },
                  "numberOfRetriesStability": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "numberOfRetriesStability"
                  },
                  "secondsBetweenRetry": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "secondsBetweenRetry"
                  },
                  "parent_id": {
                    "variable": "",
                    "task": "job",
                    "value": "_id"
                  },
                  "deviceArray": {
                    "variable": "",
                    "task": "job",
                    "value": "deviceArray"
                  },
                  "adapter_id": {
                    "variable": "",
                    "task": "job",
                    "value": "adapter_id"
                  },
                  "variables": {
                    "variable": "",
                    "task": "job",
                    "value": "variables"
                  }
                }
              },
              "outgoing": {
                "job_details": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>child</span>Job"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Child</span> Job"
              },
              {
                "key": "description",
                "highlightString": "Run a <span class='highlight-string'>child</span> Job inside a Workflow"
              }
            ],
            "groups": [],
            "actor": "job",
            "x": -0.547925608011445,
            "y": -0.24709302325581395
          },
          "3408": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "Ansible outcome",
            "description": "",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": ".outcome",
                        "operand_1": {
                          "variable": "job_details",
                          "task": "2096"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "success",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": -0.343724364232978,
            "y": -0.147625160462131
          },
          "3476": {
            "name": "GetBootFlash",
            "summary": "Get Boot Flash",
            "description": "Get the boot flash image",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "automatic",
            "variables": {
              "incoming": {
                "device": "$var.1cbe.deviceString"
              },
              "outgoing": {
                "imageName": "$var.job.origImageName"
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "Get<span class='highlight-string'>Boot</span>Flash"
              },
              {
                "key": "summary",
                "highlightString": "MOP Get <span class='highlight-string'>Boot</span> Flash"
              },
              {
                "key": "description",
                "highlightString": "Get the <span class='highlight-string'>boot</span> flash image"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": -0.994257588187039,
            "y": -0.10397946084724,
            "scheduled": false
          },
          "3773": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "NSO outcome",
            "description": "",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": ".outcome",
                        "operand_1": {
                          "variable": "job_details",
                          "task": "fde5"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "success",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": -0.332028701891716,
            "y": 0.00395256916996047
          },
          "3805": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "New Bin file not on device",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "New Bin file not on device",
                "message": "New Bin file not on the device.<br>Please either select to go <b>BACK</b> to form (to select different version or retry after file was downloaded), or <b>END</b> to terminate this workflow.",
                "body": "",
                "btn_success": "BACK",
                "btn_failure": "END"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": -1.990063233965673,
            "y": 0.51931330472103,
            "scheduled": false
          },
          "4502": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Ready to Upgrade",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Ready to Upgrade",
                "message": "The workflow is ready to upgrade the device software.<br>Please make sure to monitor the device via console during the following step.<br>Press <b>ABORT</b> to cancel this process, or <b>UPGRADE</b> to continue with the software upgrading process.",
                "body": "",
                "btn_success": "UPGRADE",
                "btn_failure": "ABORT"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": -1.2133072407045,
            "y": 0.324110671936759,
            "scheduled": false
          },
          "5233": {
            "name": "RunCommandTemplate",
            "summary": "Run Pre Checks",
            "description": "Run Pre Checks",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "automatic",
            "variables": {
              "incoming": {
                "template": "Cisco IOS Upgrade",
                "variables": "$var.job.variables",
                "devices": "$var.job.deviceArray"
              },
              "outgoing": {
                "mop_template_results": "$var.job.pre"
              },
              "error": ""
            },
            "deprecated": false,
            "groups": [],
            "actor": "Pronghorn",
            "x": -1.61709067188519,
            "y": -0.127799736495389,
            "scheduled": false
          },
          "5418": {
            "name": "RunCommandTemplate",
            "summary": "Verify Current State",
            "description": "Verify Different Version",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "automatic",
            "variables": {
              "incoming": {
                "template": "Cisco IOS Upgrade State Checks",
                "variables": "$var.job.variables",
                "devices": "$var.job.deviceArray"
              },
              "outgoing": {
                "mop_template_results": null
              },
              "error": ""
            },
            "deprecated": false,
            "groups": [],
            "actor": "Pronghorn",
            "x": -2.1233660130718954,
            "y": -0.12229102167182662,
            "scheduled": false
          },
          "8232": {
            "name": "stub",
            "canvasName": "stub",
            "summary": "EXIT Route",
            "description": "Create a stub for an automated task",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "automatic",
            "variables": {
              "incoming": {
                "type": "success",
                "delay": "",
                "response": ""
              },
              "outgoing": {
                "response": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>stub</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Stub</span>"
              },
              {
                "key": "description",
                "highlightString": "Create a <span class='highlight-string'>stub</span> for an automated task"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": -0.324200913242009,
            "y": 0.490118577075099,
            "scheduled": false
          },
          "8485": {
            "name": "childJob",
            "summary": "NSO Rollback",
            "description": "Run NSO device upgrade tasks",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "task": "",
                "workflow": "Cisco IOS Upgrade - NSO upgrade",
                "variables": {
                  "deviceString": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "deviceString"
                  },
                  "numberOfRetries": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "numberOfRetries"
                  },
                  "numberOfRetriesStability": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "numberOfRetriesStability"
                  },
                  "secondsBetweenRetry": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "secondsBetweenRetry"
                  },
                  "variables": {
                    "variable": "",
                    "task": "job",
                    "value": "variables"
                  },
                  "deviceArray": {
                    "variable": "",
                    "task": "job",
                    "value": "deviceArray"
                  },
                  "adapter_id": {
                    "variable": "",
                    "task": "job",
                    "value": "adapter_id"
                  },
                  "mode": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "mode"
                  }
                }
              },
              "outgoing": {
                "job_details": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>child</span>Job"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Child</span> Job"
              },
              {
                "key": "description",
                "highlightString": "Run a <span class='highlight-string'>child</span> Job inside a Workflow"
              }
            ],
            "groups": [],
            "actor": "job",
            "x": 1.79294117647059,
            "y": 0.168091168091168
          },
          "8923": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "Check for different version",
            "description": "Eval pre check for true",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": true,
                "evaluation_groups": [
                  {
                    "all_true_flag": true,
                    "evaluations": [
                      {
                        "query": "commands_results[2].result",
                        "operand_1": {
                          "variable": "mop_template_results",
                          "task": "5418"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": true,
                          "task": "static"
                        }
                      },
                      {
                        "query": "commands_results[0].result",
                        "operand_1": {
                          "variable": "mop_template_results",
                          "task": "5418"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": true,
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "groups": [],
            "x": -1.8590785907859078,
            "y": -0.12160228898426323
          },
          "workflow_start": {
            "name": "workflow_start",
            "groups": [],
            "x": -3.6062091503267975,
            "y": -0.14040114613180515
          },
          "workflow_end": {
            "name": "workflow_end",
            "groups": [],
            "x": 3.16705882352941,
            "y": 0.00427350427350427
          },
          "4e3f": {
            "name": "getDevice",
            "summary": "Get Device's Details",
            "description": "Get detailed information for a specific device",
            "app": "ConfigurationManager",
            "displayName": "ConfigurationManager",
            "location": "Application",
            "type": "automatic",
            "variables": {
              "incoming": {
                "name": "$var.1cbe.deviceString"
              },
              "outgoing": {
                "device": null
              },
              "error": ""
            },
            "deprecated": false,
            "groups": [],
            "actor": "Pronghorn",
            "x": -2.6101573676680974,
            "y": -0.1401360544217687,
            "scheduled": false
          },
          "6f17": {
            "name": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "name": "variables",
                "value": "$var.7f66.merged_object"
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>new</span>Variable"
              },
              {
                "key": "description",
                "highlightString": "Create a <span class='highlight-string'>new</span> Job variable by Job ID and assign it a value."
              }
            ],
            "groups": [],
            "x": -2.773247496423462,
            "y": -0.14421768707482993
          },
          "7b2b": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "Check for pre-downloaded file",
            "description": "expected to be false = file is already downloaded",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "commands_results[1].result",
                        "operand_1": {
                          "variable": "mop_template_results",
                          "task": "5418"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": true,
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "groups": [],
            "x": -1.981029810298103,
            "y": -0.11874105865522175
          },
          "510d": {
            "name": "viewTemplateResults",
            "summary": "Review Pre-Checks",
            "description": "",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "manual",
            "variables": {
              "incoming": {
                "mop_template_results": "$var.5233.mop_template_results"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/mop/task/viewTemplateResults",
            "deprecated": false,
            "groups": [],
            "x": -1.48140900195695,
            "y": -0.434782608695652,
            "scheduled": false
          },
          "fd87": {
            "name": "RunCommandTemplate",
            "summary": "Run Post Checks",
            "description": "Run Post Checks",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "automatic",
            "variables": {
              "incoming": {
                "template": "Cisco IOS Upgrade",
                "variables": "$var.job.variables",
                "devices": "$var.job.deviceArray"
              },
              "outgoing": {
                "mop_template_results": null
              },
              "error": ""
            },
            "deprecated": false,
            "groups": [],
            "actor": "Pronghorn",
            "x": -0.109926168990976,
            "y": -0.061617458279846,
            "scheduled": false
          },
          "2e2e": {
            "name": "runTemplatesDiff",
            "summary": "MOP Diff Config",
            "description": "MOP Diff Config",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "manual",
            "variables": {
              "incoming": {
                "pre": "$var.5233.mop_template_results",
                "post": "$var.fd87.mop_template_results"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/mop/task/runTemplatesDiff",
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "runTemplates<span class='highlight-string'>Diff</span>"
              },
              {
                "key": "summary",
                "highlightString": "MOP <span class='highlight-string'>Diff</span> Config"
              },
              {
                "key": "description",
                "highlightString": "MOP <span class='highlight-string'>Diff</span> Config"
              }
            ],
            "groups": [],
            "x": 0.581960784313725,
            "y": -0.0427350427350427,
            "scheduled": false
          },
          "f847": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "Orchestrator",
            "description": "Orchestrator",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "isNSO",
                          "task": "job"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": true,
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": -0.813781788351107,
            "y": -0.0872913992297818
          },
          "4a79": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "Orchestrator check",
            "description": "Orchestrator",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "isNSO",
                          "task": "job"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": true,
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 1.78117647058824,
            "y": -0.00997150997150997
          },
          "c463": {
            "name": "objectHasOwnProperty",
            "summary": "Determines whether an object has a property.",
            "description": "Returns a boolean indicating whether the object has the specified property as its own property (as opposed to inheriting it).",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "Object",
            "type": "automatic",
            "variables": {
              "incoming": {
                "obj": "$var.4e3f.device",
                "prop": "ned"
              },
              "outgoing": {
                "result": "$var.job.isNSO"
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>has</span>OwnProperty"
              },
              {
                "key": "summary",
                "highlightString": "Determines whether an object <span class='highlight-string'>has</span> a property."
              },
              {
                "key": "description",
                "highlightString": "Returns a boolean indicating whether the object <span class='highlight-string'>has</span> the specified property as its own property (as opposed to inheriting it)."
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": -2.3340486409155936,
            "y": -0.12380952380952381,
            "scheduled": false,
            "canvasName": "hasOwnProperty"
          },
          "fde5": {
            "name": "childJob",
            "summary": "NSO",
            "description": "Run NSO device upgrade tasks",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "task": "",
                "workflow": "Cisco IOS Upgrade - NSO upgrade",
                "variables": {
                  "deviceString": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "deviceString"
                  },
                  "numberOfRetries": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "numberOfRetries"
                  },
                  "numberOfRetriesStability": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "numberOfRetriesStability"
                  },
                  "secondsBetweenRetry": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "secondsBetweenRetry"
                  },
                  "variables": {
                    "variable": "",
                    "task": "job",
                    "value": "variables"
                  },
                  "deviceArray": {
                    "variable": "",
                    "task": "job",
                    "value": "deviceArray"
                  },
                  "adapter_id": {
                    "variable": "",
                    "task": "job",
                    "value": "adapter_id"
                  },
                  "mode": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "mode"
                  }
                }
              },
              "outgoing": {
                "job_details": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>child</span>Job"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Child</span> Job"
              },
              {
                "key": "description",
                "highlightString": "Run a <span class='highlight-string'>child</span> Job inside a Workflow"
              }
            ],
            "groups": [],
            "actor": "job",
            "x": -0.5367647058823529,
            "y": 0.06346749226006192
          },
          "dae7": {
            "canvasName": "query",
            "location": "Application",
            "locationType": null,
            "name": "query",
            "summary": "Get adapter ID",
            "description": "Get adapter ID",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "pass_on_null": false,
                "query": "origin",
                "obj": "$var.4e3f.device"
              },
              "outgoing": {
                "return_data": "$var.job.adapter_id"
              },
              "error": ""
            },
            "deprecated": false,
            "groups": [],
            "x": -2.484263233190272,
            "y": -0.12108843537414966,
            "scheduled": false
          },
          "4bdd": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "NSO rollback outcome",
            "description": "",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": ".outcome",
                        "operand_1": {
                          "variable": "job_details",
                          "task": "8485"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "success",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 1.96705882352941,
            "y": 0.13960113960114
          },
          "ad62": {
            "name": "childJob",
            "summary": "Ansible Rollback",
            "description": "run Ansible device rollback tasks",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "task": "",
                "workflow": "Cisco IOS Upgrade - Ansible upgrade",
                "variables": {
                  "mode": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "mode"
                  },
                  "deviceString": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "deviceString"
                  },
                  "numberOfRetries": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "numberOfRetries"
                  },
                  "numberOfRetriesStability": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "numberOfRetriesStability"
                  },
                  "secondsBetweenRetry": {
                    "variable": "",
                    "task": "1cbe",
                    "value": "secondsBetweenRetry"
                  },
                  "parent_id": {
                    "variable": "",
                    "task": "job",
                    "value": "_id"
                  },
                  "deviceArray": {
                    "variable": "",
                    "task": "job",
                    "value": "deviceArray"
                  },
                  "adapter_id": {
                    "variable": "",
                    "task": "job",
                    "value": "adapter_id"
                  },
                  "variables": {
                    "variable": "",
                    "task": "job",
                    "value": "variables"
                  }
                }
              },
              "outgoing": {
                "job_details": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>child</span>Job"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Child</span> Job"
              },
              {
                "key": "description",
                "highlightString": "Run a <span class='highlight-string'>child</span> Job inside a Workflow"
              }
            ],
            "groups": [],
            "actor": "job",
            "x": 1.79686274509804,
            "y": -0.16951566951567
          },
          "28c9": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "Ansible rollback outcome",
            "description": "",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": ".outcome",
                        "operand_1": {
                          "variable": "job_details",
                          "task": "ad62"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "success",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 1.97254901960784,
            "y": -0.115384615384615
          },
          "9b94": {
            "name": "RunCommandTemplate",
            "summary": "Run Rollback Post Checks",
            "description": "Run Rollback Post Checks",
            "location": "Application",
            "locationType": null,
            "app": "MOP",
            "displayName": "Command Templates",
            "type": "automatic",
            "variables": {
              "incoming": {
                "template": "Cisco IOS Upgrade",
                "variables": "$var.job.variables",
                "devices": "$var.job.deviceArray"
              },
              "outgoing": {
                "mop_template_results": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>Run</span><span class='highlight-string'>Command</span><span class='highlight-string'>Tem</span>plate"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Run</span> <span class='highlight-string'>Command</span> <span class='highlight-string'>Tem</span>plate"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Run</span> a <span class='highlight-string'>Command</span> <span class='highlight-string'>Tem</span>plate against devices."
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 2.25411764705882,
            "y": 0.00142450142450142,
            "scheduled": false
          },
          "86c7": {
            "name": "viewTemplateResults",
            "summary": "Review Post-Checks",
            "description": "Review Post-Checks",
            "location": "Application",
            "app": "MOP",
            "displayName": "Command Templates",
            "type": "manual",
            "variables": {
              "incoming": {
                "mop_template_results": "$var.9b94.mop_template_results"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/mop/task/viewTemplateResults",
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>view</span><span class='highlight-string'>Template</span>Results"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>View</span> MOP <span class='highlight-string'>Template</span> Results"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>View</span> MOP <span class='highlight-string'>Template</span> Results"
              }
            ],
            "groups": [],
            "x": 2.42980392156863,
            "y": 0.00997150997150997,
            "scheduled": false
          },
          "a2d0": {
            "name": "runTemplatesDiff",
            "summary": "Diff Pre/Post Config",
            "description": "",
            "location": "Application",
            "app": "MOP",
            "displayName": "Command Templates",
            "type": "manual",
            "variables": {
              "incoming": {
                "pre": "$var.job.pre",
                "post": "$var.9b94.mop_template_results"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/mop/task/runTemplatesDiff",
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "runTemplates<span class='highlight-string'>Diff</span>"
              },
              {
                "key": "summary",
                "highlightString": "MOP <span class='highlight-string'>Diff</span> Config"
              },
              {
                "key": "description",
                "highlightString": "MOP <span class='highlight-string'>Diff</span> Config"
              }
            ],
            "groups": [],
            "x": 2.9356862745098,
            "y": 0.00427350427350427,
            "scheduled": false
          },
          "c1d0": {
            "name": "modify",
            "summary": "Update Image Name",
            "description": "Modify data",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "object_to_update": "$var.job.variables",
                "query": "version",
                "new_value": "$var.3476.imageName"
              },
              "outgoing": {
                "updated_object": "$var.job.variables"
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [],
            "groups": [],
            "x": 1.47058823529412,
            "y": -0.0056980056980057,
            "scheduled": false
          },
          "fa87": {
            "name": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "name": "outcome",
                "value": "error"
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>new</span>Variable"
              },
              {
                "key": "description",
                "highlightString": "Create a <span class='highlight-string'>new</span> <span class='highlight-string'>Job</span> variable by Job ID and assign it a value."
              },
              {
                "key": "summary",
                "highlightString": "Create a <span class='highlight-string'>Job</span> Variable"
              }
            ],
            "groups": [],
            "x": 1.97803921568627,
            "y": 0.574074074074074
          },
          "7f66": {
            "name": "merge",
            "canvasName": "merge",
            "summary": "Merge Data",
            "description": "Merge data into a single object",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "data_to_merge": [
                  {
                    "key": "version",
                    "value": {
                      "task": "1cbe",
                      "variable": "fileName"
                    }
                  },
                  {
                    "key": "job_id",
                    "value": {
                      "task": "job",
                      "variable": "_id"
                    }
                  },
                  {
                    "key": "device",
                    "value": {
                      "task": "1cbe",
                      "variable": "deviceString"
                    }
                  },
                  {
                    "key": "mode",
                    "value": {
                      "task": "1cbe",
                      "variable": "mode"
                    }
                  },
                  {
                    "key": "flashMemory",
                    "value": {
                      "task": "1cbe",
                      "variable": "flashMemory"
                    }
                  }
                ]
              },
              "outgoing": {
                "merged_object": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>merge</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Merge</span> Data"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Merge</span> data into a single object"
              }
            ],
            "groups": [],
            "x": -2.917024320457797,
            "y": -0.1306122448979592
          },
          "2a66": {
            "name": "ShowJsonForm",
            "canvasName": "ShowJsonForm",
            "summary": "Show Json Form",
            "description": "Show Json Form",
            "location": "Application",
            "app": "JsonForms",
            "displayName": "JsonForms",
            "type": "manual",
            "variables": {
              "incoming": {
                "form_id": "Cisco IOS Upgrade Form",
                "instance_data": "$var.job.formData"
              },
              "outgoing": {
                "export": "$var.job.formData"
              },
              "error": ""
            },
            "view": "/json-forms/task/ShowJsonForm",
            "deprecated": false,
            "matched": [
              {
                "key": "displayName",
                "highlightString": "<span class='highlight-string'>Json</span>Forms"
              },
              {
                "key": "canvasName",
                "highlightString": "Show<span class='highlight-string'>Json</span>Form"
              },
              {
                "key": "summary",
                "highlightString": "Show <span class='highlight-string'>Json</span> Form"
              },
              {
                "key": "description",
                "highlightString": "Show <span class='highlight-string'>Json</span> Form"
              }
            ],
            "groups": [],
            "x": -3.3902439024390243,
            "y": 0.5350500715307582,
            "scheduled": false
          },
          "bd42": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Device unreachable",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Device is unreachable",
                "message": "Device is unreachable<br> Please choose to either re-enter <b>Form</b> fields or <b>Abort</b> this workflow.",
                "body": "",
                "btn_success": "Go To Form",
                "btn_failure": "Abort"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": -2.3486901535682025,
            "y": 0.5278969957081545,
            "scheduled": false
          },
          "77a": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Device already on selected version",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Device already on selected version",
                "message": "$var.a833.output",
                "body": "",
                "btn_success": "FORM",
                "btn_failure": "ABORT"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": -1.862691960252936,
            "y": 0.7839771101573677,
            "scheduled": false
          },
          "a833": {
            "name": "makeData",
            "canvasName": "makeData",
            "summary": "Make Data",
            "description": "Make Data",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "automatic",
            "variables": {
              "incoming": {
                "input": "Device already on selected version <b>(<!version!>)</b><br> Please choose to either re-enter <b>FORM</b> fields or <b>ABORT</b> this workflow.",
                "outputType": "string",
                "variables": "$var.job.variables"
              },
              "outgoing": {
                "output": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>makeData</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": -1.8563685636856369,
            "y": 0.11444921316165951,
            "scheduled": false
          },
          "5ffc": {
            "name": "newVariable",
            "canvasName": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "name": "deviceArray",
                "value": []
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>new</span><span class='highlight-string'>Varia</span>ble"
              },
              {
                "key": "description",
                "highlightString": "Create a <span class='highlight-string'>new</span> Job <span class='highlight-string'>varia</span>ble by Job ID and assign it a value."
              },
              {
                "key": "summary",
                "highlightString": "Create a Job <span class='highlight-string'>Varia</span>ble"
              }
            ],
            "groups": [],
            "x": -3.2374821173104436,
            "y": -0.1564625850340136
          },
          "701a": {
            "name": "viewTemplateResults",
            "summary": "Review Current State",
            "description": "",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "manual",
            "variables": {
              "incoming": {
                "mop_template_results": "$var.5418.mop_template_results"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/mop/task/viewTemplateResults",
            "deprecated": false,
            "groups": [],
            "x": -1.76908023483366,
            "y": -0.455862977602108,
            "scheduled": false
          },
          "38f4": {
            "name": "viewTemplateResults",
            "summary": "Review Pre-Checks",
            "description": "",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "manual",
            "variables": {
              "incoming": {
                "mop_template_results": "$var.5233.mop_template_results"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/mop/task/viewTemplateResults",
            "deprecated": false,
            "groups": [],
            "x": -1.382257012394,
            "y": 0.0790513833992095,
            "scheduled": false
          },
          "58f": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "is verbose",
            "description": "",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": true,
                    "evaluations": [
                      {
                        "query": "result",
                        "operand_1": {
                          "variable": "mop_template_results",
                          "task": "5233"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": true,
                          "task": "static"
                        }
                      },
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "mode",
                          "task": "1cbe"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "Verbose",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "groups": [],
            "x": -1.4853228962818,
            "y": -0.122529644268775
          },
          "923c": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "is zero touch",
            "description": "",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "mode",
                          "task": "1cbe"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "Zero Touch",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "groups": [],
            "x": -1.21917808219178,
            "y": -0.102766798418972
          },
          "fcd": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Pre-Checks Error",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Pre-Checks Error",
                "message": "Failed during the Pre-Checks stage.<br>Please choose either <b>Ignore</b> to continue with upgrade, or <b>Repeat</b> to perform Pre-Checks again.",
                "body": "",
                "btn_success": "IGNORE",
                "btn_failure": "REPEAT"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": -1.37964774951076,
            "y": 0.328063241106719,
            "scheduled": false
          },
          "92c6": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "is verbose",
            "description": "",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": true,
                    "evaluations": [
                      {
                        "query": "result",
                        "operand_1": {
                          "variable": "mop_template_results",
                          "task": "fd87"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": true,
                          "task": "static"
                        }
                      },
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "mode",
                          "task": "1cbe"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "Verbose",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "groups": [],
            "x": 0.0928043039677202,
            "y": -0.0453257790368272
          },
          "5c36": {
            "name": "viewTemplateResults",
            "summary": "Review Post-Checks",
            "description": "",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "manual",
            "variables": {
              "incoming": {
                "mop_template_results": "$var.fd87.mop_template_results"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/mop/task/viewTemplateResults",
            "deprecated": false,
            "groups": [],
            "x": 0.0914593140551446,
            "y": -0.262039660056657,
            "scheduled": false
          },
          "20a3": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "Check for different version",
            "description": "Eval pre check for true",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "result",
                        "operand_1": {
                          "variable": "mop_template_results",
                          "task": "fd87"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": true,
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "groups": [],
            "x": 0.237390719569603,
            "y": -0.0339943342776204
          },
          "967d": {
            "name": "viewTemplateResults",
            "summary": "Review Post-Checks",
            "description": "",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "manual",
            "variables": {
              "incoming": {
                "mop_template_results": "$var.fd87.mop_template_results"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/mop/task/viewTemplateResults",
            "deprecated": false,
            "groups": [],
            "x": 0.230267449445532,
            "y": 0.217391304347826,
            "scheduled": false
          },
          "fdb9": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Post-Checks Error",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Post-Checks Error",
                "message": "Failed during the Post-Checks stage.<br>Please choose either <b>IGNORE</b> to continue with process, or <b>REPEAT</b> to perform Post-Checks again.",
                "body": "",
                "btn_success": "IGNORE",
                "btn_failure": "REPEAT"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 0.395955642530985,
            "y": 0.229249011857708,
            "scheduled": false
          },
          "ba75": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "is zero touch",
            "description": "",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "mode",
                          "task": "1cbe"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "Zero Touch",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "groups": [],
            "x": 0.385518590998043,
            "y": -0.0342555994729908
          },
          "2df8": {
            "name": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "name": "outcome",
                "value": "success"
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>new</span>Variable"
              },
              {
                "key": "description",
                "highlightString": "Create a <span class='highlight-string'>new</span> <span class='highlight-string'>Job</span> variable by Job ID and assign it a value."
              },
              {
                "key": "summary",
                "highlightString": "Create a <span class='highlight-string'>Job</span> Variable"
              }
            ],
            "groups": [],
            "x": 1.98588235294118,
            "y": -0.784900284900285
          },
          "c51d": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Device Upgrade Complete",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Device Upgrade Complete",
                "message": "$var.c26e.output",
                "body": "",
                "btn_success": "FINISH",
                "btn_failure": "ROLLBACK"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 1.28705882352941,
            "y": -0.0227920227920228,
            "scheduled": false
          },
          "c26e": {
            "name": "makeData",
            "canvasName": "makeData",
            "summary": "Make Data",
            "description": "Make Data",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "automatic",
            "variables": {
              "incoming": {
                "input": "Device Upgrade Complete.<br>The device <!device!> is now running <!version!><br> Please select <b>Finish</b> or <b>Rollback</b>",
                "outputType": "string",
                "variables": "$var.job.variables"
              },
              "outgoing": {
                "output": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>make</span>Data"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Make</span> Data"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Make</span> Data"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.10509803921569,
            "y": -0.0327635327635328,
            "scheduled": false
          },
          "b0e6": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Rollback failure",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Rollback failure",
                "message": "The Rollback process has failed",
                "body": "",
                "btn_success": "TERMINATE",
                "btn_failure": ""
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 1.97254901960784,
            "y": 0.339031339031339,
            "scheduled": false
          },
          "497e": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Successfully reverted",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Successfully reverted",
                "message": "Workflow successfully reverted, device back to original version.<br>Will perform Post-checks again to verify device's functionality.",
                "body": "",
                "btn_success": "",
                "btn_failure": ""
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 2.09960784313725,
            "y": -0.0056980056980057,
            "scheduled": false
          },
          "8bb4": {
            "name": "stringConcat",
            "canvasName": "concat",
            "summary": "Concatenates strings together.",
            "description": "Concatenates a string with an array of strings.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "String",
            "type": "automatic",
            "variables": {
              "incoming": {
                "str": "$var.job._id",
                "stringN": [
                  "-ROLLBACK"
                ]
              },
              "outgoing": {
                "combinedStrings": "$var.job.job_id_for_rollback"
              },
              "error": ""
            },
            "deprecated": true,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>concat</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Concat</span>enates strings together."
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Concat</span>enates a string with an array of strings."
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.62117647058824,
            "y": -0.00427350427350427,
            "scheduled": false
          },
          "e819": {
            "name": "viewTemplateResults",
            "canvasName": "viewTemplateResults",
            "summary": "View MOP Template Results",
            "description": "View MOP Template Results",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "manual",
            "variables": {
              "incoming": {
                "mop_template_results": "$var.535.analytic_template_results"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/mop/task/viewTemplateResults",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>viewTemplate</span>Results"
              }
            ],
            "groups": [],
            "x": 0.955294117647059,
            "y": -0.0427350427350427,
            "scheduled": false
          },
          "bd20": {
            "name": "viewTemplateResults",
            "canvasName": "viewTemplateResults",
            "summary": "View MOP Template Results",
            "description": "View MOP Template Results",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "manual",
            "variables": {
              "incoming": {
                "mop_template_results": "$var.928.analytic_template_results"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/mop/task/viewTemplateResults",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>viewTemplate</span>Results"
              }
            ],
            "groups": [],
            "x": 2.77098039215686,
            "y": 0.0113960113960114,
            "scheduled": false
          },
          "1cbe": {
            "name": "transformation",
            "canvasName": "transformation",
            "summary": "JSON Transformation",
            "description": "Perform a JSON Transformation using the JST library.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "tr_id": "5f5efabcdc87324798b9fbf0",
                "variableMap": {
                  "formData": "$var.job.formData"
                },
                "options": {
                  "extractOutput": false
                }
              },
              "outgoing": {
                "mode": null,
                "deviceString": null,
                "fileName": null,
                "numberOfRetries": null,
                "numberOfRetriesStability": null,
                "secondsBetweenRetry": null,
                "flashMemory": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "description",
                "highlightString": "Perform a JSON Transformation using the <span class='highlight-string'>JST</span> library."
              }
            ],
            "groups": [],
            "x": -3.3855507868383405,
            "y": -0.1523809523809524
          }
        },
        "transitions": {
          "231": {},
          "535": {
            "e819": {
              "type": "standard",
              "state": "success"
            }
          },
          "928": {
            "bd20": {
              "type": "standard",
              "state": "success"
            }
          },
          "1121": {
            "5233": {
              "type": "standard",
              "state": "failure"
            },
            "701a": {
              "type": "standard",
              "state": "success"
            }
          },
          "1615": {
            "7f66": {
              "type": "standard",
              "state": "success"
            }
          },
          "1774": {
            "923c": {
              "type": "standard",
              "state": "success"
            },
            "38f4": {
              "type": "standard",
              "state": "failure"
            }
          },
          "2096": {
            "3408": {
              "type": "standard",
              "state": "success"
            }
          },
          "3408": {
            "8232": {
              "type": "standard",
              "state": "failure"
            },
            "fd87": {
              "type": "standard",
              "state": "success"
            }
          },
          "3454": {},
          "3471": {},
          "3476": {
            "f847": {
              "type": "standard",
              "state": "success"
            }
          },
          "3773": {
            "8232": {
              "type": "standard",
              "state": "failure"
            },
            "fd87": {
              "type": "standard",
              "state": "success"
            }
          },
          "3805": {
            "8232": {
              "type": "standard",
              "state": "failure"
            },
            "2a66": {
              "type": "standard",
              "state": "success"
            }
          },
          "4502": {
            "3476": {
              "type": "standard",
              "state": "success"
            },
            "8232": {
              "type": "standard",
              "state": "failure"
            }
          },
          "5233": {
            "58f": {
              "type": "standard",
              "state": "success"
            }
          },
          "5418": {
            "bd42": {
              "type": "standard",
              "state": "error"
            },
            "7b2b": {
              "type": "standard",
              "state": "success"
            }
          },
          "8064": {},
          "8232": {
            "fa87": {
              "type": "standard",
              "state": "success"
            }
          },
          "8485": {
            "4bdd": {
              "type": "standard",
              "state": "success"
            }
          },
          "8923": {
            "1121": {
              "type": "standard",
              "state": "success"
            },
            "a833": {
              "type": "standard",
              "state": "failure"
            }
          },
          "workflow_start": {
            "1cbe": {
              "type": "standard",
              "state": "success"
            }
          },
          "workflow_end": {},
          "c0b5": {},
          "9e7b": {},
          "133e": {},
          "4e3f": {
            "dae7": {
              "type": "standard",
              "state": "success"
            },
            "bd42": {
              "type": "standard",
              "state": "error"
            }
          },
          "8f57": {},
          "5d68": {},
          "d03e": {},
          "90ac": {},
          "7cd8": {},
          "f567": {},
          "7a87": {},
          "de12": {},
          "edcb": {},
          "6f17": {
            "4e3f": {
              "type": "standard",
              "state": "success"
            }
          },
          "4aaa": {},
          "7b2b": {
            "3805": {
              "type": "standard",
              "state": "failure"
            },
            "8923": {
              "type": "standard",
              "state": "success"
            }
          },
          "510d": {
            "1774": {
              "type": "standard",
              "state": "success"
            },
            "5233": {
              "type": "revert",
              "state": "failure"
            }
          },
          "fd87": {
            "92c6": {
              "type": "standard",
              "state": "success"
            }
          },
          "2e2e": {
            "535": {
              "type": "standard",
              "state": "success"
            }
          },
          "fcff": {},
          "f847": {
            "2096": {
              "type": "standard",
              "state": "failure"
            },
            "fde5": {
              "type": "standard",
              "state": "success"
            }
          },
          "4a79": {
            "8485": {
              "type": "standard",
              "state": "success"
            },
            "ad62": {
              "type": "standard",
              "state": "failure"
            }
          },
          "e7cc": {},
          "72f3": {},
          "c305": {},
          "cdd2": {},
          "c463": {
            "5418": {
              "type": "standard",
              "state": "success"
            }
          },
          "fde5": {
            "3773": {
              "type": "standard",
              "state": "success"
            }
          },
          "dae7": {
            "c463": {
              "type": "standard",
              "state": "success"
            }
          },
          "4bdd": {
            "b0e6": {
              "type": "standard",
              "state": "failure"
            },
            "497e": {
              "type": "standard",
              "state": "success"
            }
          },
          "ad62": {
            "28c9": {
              "type": "standard",
              "state": "success"
            }
          },
          "28c9": {
            "b0e6": {
              "type": "standard",
              "state": "failure"
            },
            "497e": {
              "type": "standard",
              "state": "success"
            }
          },
          "9b94": {
            "86c7": {
              "type": "standard",
              "state": "success"
            }
          },
          "86c7": {
            "928": {
              "type": "standard",
              "state": "success"
            },
            "9b94": {
              "type": "revert",
              "state": "failure"
            }
          },
          "a2d0": {
            "2df8": {
              "type": "standard",
              "state": "success"
            }
          },
          "c1d0": {
            "8bb4": {
              "type": "standard",
              "state": "success"
            }
          },
          "fa87": {
            "workflow_end": {
              "type": "standard",
              "state": "success"
            }
          },
          "7f66": {
            "6f17": {
              "type": "standard",
              "state": "success"
            }
          },
          "2a66": {
            "1cbe": {
              "type": "revert",
              "state": "success"
            }
          },
          "bd42": {
            "8232": {
              "type": "standard",
              "state": "failure"
            },
            "2a66": {
              "type": "standard",
              "state": "success"
            }
          },
          "77a": {
            "8232": {
              "type": "standard",
              "state": "failure"
            },
            "2a66": {
              "type": "standard",
              "state": "success"
            }
          },
          "a833": {
            "77a": {
              "type": "standard",
              "state": "success"
            }
          },
          "5ffc": {
            "1615": {
              "type": "standard",
              "state": "success"
            }
          },
          "701a": {
            "5233": {
              "type": "standard",
              "state": "success"
            },
            "5418": {
              "type": "revert",
              "state": "failure"
            }
          },
          "38f4": {
            "5233": {
              "type": "revert",
              "state": "failure"
            },
            "fcd": {
              "type": "standard",
              "state": "success"
            }
          },
          "58f": {
            "1774": {
              "type": "standard",
              "state": "failure"
            },
            "510d": {
              "type": "standard",
              "state": "success"
            }
          },
          "923c": {
            "3476": {
              "type": "standard",
              "state": "success"
            },
            "4502": {
              "type": "standard",
              "state": "failure"
            }
          },
          "fcd": {
            "4502": {
              "type": "standard",
              "state": "success"
            },
            "5233": {
              "type": "revert",
              "state": "failure"
            }
          },
          "92c6": {
            "5c36": {
              "type": "standard",
              "state": "success"
            },
            "20a3": {
              "type": "standard",
              "state": "failure"
            }
          },
          "5c36": {
            "fd87": {
              "type": "revert",
              "state": "failure"
            },
            "20a3": {
              "type": "standard",
              "state": "success"
            }
          },
          "20a3": {
            "ba75": {
              "type": "standard",
              "state": "success"
            },
            "967d": {
              "type": "standard",
              "state": "failure"
            }
          },
          "967d": {
            "fdb9": {
              "type": "standard",
              "state": "success"
            },
            "fd87": {
              "type": "revert",
              "state": "failure"
            }
          },
          "fdb9": {
            "fd87": {
              "type": "revert",
              "state": "failure"
            },
            "ba75": {
              "type": "standard",
              "state": "success"
            }
          },
          "ba75": {
            "2df8": {
              "type": "standard",
              "state": "success"
            },
            "2e2e": {
              "type": "standard",
              "state": "failure"
            }
          },
          "2df8": {
            "workflow_end": {
              "type": "standard",
              "state": "success"
            }
          },
          "c51d": {
            "2df8": {
              "type": "standard",
              "state": "success"
            },
            "c1d0": {
              "type": "standard",
              "state": "failure"
            }
          },
          "c26e": {
            "c51d": {
              "type": "standard",
              "state": "success"
            }
          },
          "b0e6": {
            "fa87": {
              "type": "standard",
              "state": "success"
            }
          },
          "497e": {
            "9b94": {
              "type": "standard",
              "state": "success"
            }
          },
          "cf44": {},
          "8bb4": {
            "4a79": {
              "type": "standard",
              "state": "success"
            }
          },
          "e819": {
            "c26e": {
              "type": "standard",
              "state": "success"
            },
            "fd87": {
              "type": "revert",
              "state": "failure"
            }
          },
          "bd20": {
            "a2d0": {
              "type": "standard",
              "state": "success"
            },
            "9b94": {
              "type": "revert",
              "state": "failure"
            }
          },
          "1cbe": {
            "5ffc": {
              "type": "standard",
              "state": "success"
            },
            "2a66": {
              "type": "standard",
              "state": "error"
            }
          },
          "9ce": {},
          "4c4d": {}
        },
        "font_size": 14,
        "created": "2019-02-12T12:18:16.611Z",
        "created_by": {
          "provenance": "Local AAA",
          "username": "Itential Artifacts",
          "firstname": "admin",
          "inactive": true,
          "email": ""
        },
        "createdVersion": "4.5.3-2019.2.7.0",
        "groups": [],
        "last_updated": "2020-11-09T20:09:47.443Z",
        "last_updated_by": {
          "provenance": "Local AAA",
          "username": "admin@pronghorn",
          "firstname": "admin",
          "inactive": false,
          "email": ""
        },
        "lastUpdatedVersion": "5.10.4-2020.1.27",
        "type": "automation",
        "description": null,
        "tags": []
      }
    },
    {
      "type": "workflow",
      "data": {
        "name": "Cisco IOS Upgrade - Ansible upgrade",
        "tasks": {
          "4372": {
            "name": "stringConcat",
            "canvasName": "concat",
            "summary": "Create backup statement2",
            "description": "Create backup statement2",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "String",
            "variables": {
              "incoming": {
                "str": "$var.e1b4.output",
                "stringN": [
                  "\n\r"
                ]
              },
              "outgoing": {
                "combinedStrings": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>concat</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Concat</span>enates strings together."
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Concat</span>enates a string with a second string(s). The second parameter can be a string or array."
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.048202614379085,
            "y": -0.277526395173454,
            "scheduled": false
          },
          "6412": {
            "name": "evaluation",
            "canvasName": "evaluation",
            "summary": "If Verbose",
            "description": "Run an evaluation",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "mode",
                          "task": "job",
                          "editable": true
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "Verbose",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation Task"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 3.0900195694716244,
            "y": -0.3926218708827404
          },
          "7961": {
            "name": "childJob",
            "summary": "PING",
            "description": "Run a child Job inside a Workflow",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "task": "",
                "workflow": "Cisco IOS Upgrade - Connection Health Check",
                "variables": {
                  "deviceString": {
                    "variable": "",
                    "task": "job",
                    "value": "deviceString"
                  },
                  "numberOfRetries": {
                    "variable": "",
                    "task": "job",
                    "value": "numberOfRetries",
                    "editable": true
                  },
                  "numberOfRetriesStability": {
                    "variable": "",
                    "task": "job",
                    "value": "numberOfRetriesStability",
                    "editable": true
                  },
                  "secondsBetweenRetry": {
                    "variable": "",
                    "task": "job",
                    "value": "secondsBetweenRetry",
                    "editable": true
                  }
                }
              },
              "outgoing": {
                "job_details": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>child</span>Job"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Child</span> Job"
              },
              {
                "key": "description",
                "highlightString": "Run a <span class='highlight-string'>child</span> Job inside a Workflow"
              }
            ],
            "groups": [],
            "actor": "job",
            "x": 2.700067249495629,
            "y": -0.26062322946175637
          },
          "workflow_start": {
            "name": "workflow_start",
            "groups": [],
            "x": 0.3661417322834646,
            "y": -0.27388535031847133
          },
          "workflow_end": {
            "name": "workflow_end",
            "groups": [],
            "x": 3.4637964774951078,
            "y": -0.27140974967061926
          },
          "550d": {
            "name": "runCommand",
            "summary": "Backup Running Config",
            "description": "This method will run the provided command on a device",
            "location": "Adapter",
            "locationType": "AutomationGateway",
            "app": "AutomationGateway",
            "displayName": "AutomationGateway",
            "type": "automatic",
            "variables": {
              "incoming": {
                "devices": "$var.job.deviceArray",
                "command": "$var.e1b4.output",
                "options": {},
                "adapter_id": "$var.job.adapter_id"
              },
              "outgoing": {
                "result": "$var.job.result"
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>runCommand</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.238197424892704,
            "y": -0.2697986577181208,
            "scheduled": false
          },
          "cf07": {
            "name": "setConfig",
            "summary": "Wipe Boot Statement",
            "description": "This method will set the configuration on a device based on the configuration line(s) provided",
            "location": "Adapter",
            "locationType": "AutomationGateway",
            "app": "AutomationGateway",
            "displayName": "AutomationGateway",
            "type": "automatic",
            "variables": {
              "incoming": {
                "deviceName": "$var.job.deviceString",
                "changes": [
                  {
                    "parents": [],
                    "old": "boot system"
                  }
                ],
                "adapter_id": "$var.job.adapter_id"
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>setConfig</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.5329619312906222,
            "y": -0.26912181303116145,
            "scheduled": false
          },
          "46b": {
            "name": "makeData",
            "summary": "Build Boot Statement",
            "description": "Make Data",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "automatic",
            "variables": {
              "incoming": {
                "input": "[{\"parents\":[],\"new\":\"boot system <!flashMemory!><!version!>\"}]",
                "outputType": "json",
                "variables": "$var.job.variables"
              },
              "outgoing": {
                "output": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>makeData</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.7818012999071495,
            "y": -0.26487252124645894,
            "scheduled": false
          },
          "5e23": {
            "name": "setConfig",
            "summary": "Set Boot Statement",
            "description": "This method will set the configuration on a device based on the configuration line(s) provided",
            "location": "Adapter",
            "locationType": "AutomationGateway",
            "app": "AutomationGateway",
            "displayName": "AutomationGateway",
            "type": "automatic",
            "variables": {
              "incoming": {
                "deviceName": "$var.job.deviceString",
                "changes": "$var.46b.output",
                "adapter_id": "$var.job.adapter_id"
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>setConfig</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 2.0510677808727946,
            "y": -0.26062322946175637,
            "scheduled": false
          },
          "4c22": {
            "name": "runCommand",
            "summary": "Reload Device",
            "description": "This method will run the provided command on a device",
            "location": "Adapter",
            "locationType": "AutomationGateway",
            "app": "AutomationGateway",
            "displayName": "AutomationGateway",
            "type": "automatic",
            "variables": {
              "incoming": {
                "devices": "$var.job.deviceArray",
                "command": "reload\ny",
                "options": {},
                "adapter_id": "$var.job.adapter_id"
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>runCommand</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 2.3899721448467965,
            "y": -0.25920679886685555,
            "scheduled": false
          },
          "25e4": {
            "name": "evaluation",
            "summary": "ping outcome",
            "description": "Run an evaluation",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "outcome",
                        "operand_1": {
                          "variable": "job_details",
                          "task": "7961"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "success",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation Task"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 2.9262883235485977,
            "y": -0.2608695652173913
          },
          "99b8": {
            "name": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "name": "outcome",
                "value": "success"
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "summary",
                "highlightString": "Create a <span class='highlight-string'>Job</span> Variable"
              },
              {
                "key": "description",
                "highlightString": "Create a new <span class='highlight-string'>Job</span> variable by Job ID and assign it a value."
              }
            ],
            "groups": [],
            "x": 3.28897586431833,
            "y": -0.40843214756258234
          },
          "a70d": {
            "name": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "name": "outcome",
                "value": "failure"
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "summary",
                "highlightString": "Create a <span class='highlight-string'>Job</span> Variable"
              },
              {
                "key": "description",
                "highlightString": "Create a new <span class='highlight-string'>Job</span> variable by Job ID and assign it a value."
              }
            ],
            "groups": [],
            "x": 3.289628180039139,
            "y": -0.10013175230566534
          },
          "1d40": {
            "name": "decisionTask",
            "summary": "Failed ping test",
            "description": "Failed ping test",
            "location": "Application",
            "app": "MOP",
            "displayName": "Command Templates",
            "type": "manual",
            "variables": {
              "incoming": {
                "title": "Failed ping test",
                "body": "Ping after Reload has <b>failed</b>!   <br>Please take corrective action.",
                "variables": {},
                "btn_success": "Retry",
                "btn_failure": "Abort"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/mop/task/decisionTask",
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>deci</span>sionTask"
              },
              {
                "key": "summary",
                "highlightString": "MOP <span class='highlight-string'>Deci</span>sion Task"
              },
              {
                "key": "description",
                "highlightString": "MOP <span class='highlight-string'>Deci</span>sion Task"
              }
            ],
            "groups": [],
            "x": 3.1037581699346406,
            "y": -0.08597285067873303,
            "scheduled": false
          },
          "4cf7": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Upgrade completed",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Upgrade completed",
                "message": "Device has returned online after an upgrade reload.",
                "body": "",
                "btn_success": "CONTINUE",
                "btn_failure": ""
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 3.0939334637964775,
            "y": -0.7035573122529645,
            "scheduled": false
          },
          "b0ca": {
            "name": "getTime",
            "canvasName": "getTime",
            "summary": "Generate dateTime stamp",
            "description": "Generate dateTime stamp",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Time",
            "variables": {
              "incoming": {
                "timezone": "-05:00",
                "offsetDuration": "",
                "format": "YYYYMMDD_HHmmss"
              },
              "outgoing": {
                "time": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "displayName",
                "highlightString": "<span class='highlight-string'>Time</span>"
              },
              {
                "key": "canvasName",
                "highlightString": "get<span class='highlight-string'>Time</span>"
              },
              {
                "key": "summary",
                "highlightString": "Get <span class='highlight-string'>time</span>"
              },
              {
                "key": "description",
                "highlightString": "Gets the current <span class='highlight-string'>time</span> with an optional offset, timezone shift, and format string"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 0.5228346456692914,
            "y": -0.2789808917197452,
            "scheduled": false
          },
          "fce7": {
            "name": "query",
            "canvasName": "query",
            "summary": "Query dateTime from dateTime obj",
            "description": "Query dateTime from dateTime obj",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "pass_on_null": false,
                "query": "time",
                "obj": "$var.b0ca.time"
              },
              "outgoing": {
                "return_data": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>query</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Query</span> Data Using 'json-query' Format"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."
              }
            ],
            "groups": [],
            "x": 0.636437908496732,
            "y": -0.27149321266968324,
            "scheduled": false
          },
          "1ddd": {
            "name": "evaluation",
            "canvasName": "evaluation",
            "summary": "Evaluate Backup task response",
            "description": "Evaluate Backup task response",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "[0].status",
                        "operand_1": {
                          "variable": "result",
                          "task": "550d"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "success",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation Task"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 1.3812589413447782,
            "y": -0.2697986577181208
          },
          "4bac": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Device Backup Failed",
            "description": "Device Backup Failed",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Backup Failed!",
                "message": "Device backup failed",
                "body": "$var.job.result",
                "btn_success": "TERMINATE",
                "btn_failure": ""
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>View</span><span class='highlight-string'>Data</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>View</span> <span class='highlight-string'>Data</span>"
              },
              {
                "key": "description",
                "highlightString": "Displays a message and runtime <span class='highlight-string'>data</span> to an operator. This can be used to request a decision, or used for acknowledgement only."
              }
            ],
            "groups": [],
            "x": 3.2939914163090127,
            "y": 0.2543604651162791,
            "scheduled": false
          },
          "62a4": {
            "name": "stub",
            "canvasName": "stub",
            "summary": "Stub",
            "description": "Create a stub for an automated task",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Tools",
            "variables": {
              "incoming": {
                "type": "success",
                "delay": "",
                "response": ""
              },
              "outgoing": {
                "response": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>stub</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Stub</span>"
              },
              {
                "key": "description",
                "highlightString": "Create a <span class='highlight-string'>stub</span> for an automated task"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.3841201716738198,
            "y": 0.26308139534883723,
            "scheduled": false
          },
          "e1b4": {
            "name": "makeData",
            "canvasName": "makeData",
            "summary": "Create backup statement1",
            "description": "Create backup statement1",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Tools",
            "variables": {
              "incoming": {
                "input": "copy running-config <!flashMemory!>running-config-BACKUP-<!timeStamp!>",
                "outputType": "string",
                "variables": "$var.job.variables"
              },
              "outgoing": {
                "output": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>make</span>Data"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 0.8578431372549019,
            "y": -0.27149321266968324,
            "scheduled": false
          },
          "7f77": {
            "name": "setObjectKey",
            "canvasName": "setObjectKey",
            "summary": "Set Object Key",
            "description": "Set an object key",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Object",
            "variables": {
              "incoming": {
                "obj": "$var.job.variables",
                "path": [
                  "timeStamp"
                ],
                "value": "$var.fce7.return_data"
              },
              "outgoing": {
                "object": "$var.job.variables"
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>setObject</span>Key"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 0.7246732026143791,
            "y": -0.27601809954751133,
            "scheduled": false
          },
          "e48f": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Device reload failed",
            "description": "Device reload failed",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Device reload failed",
                "message": "Reload command has been issued on the device. During boot up process device appears offline, and may take couple of minutes before returning back to operational state. You may monitor device state during boot up process using a console.\nPlease press continue to proceed to health check",
                "body": "",
                "btn_success": "Continue",
                "btn_failure": ""
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>View</span><span class='highlight-string'>Data</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>View</span> <span class='highlight-string'>Data</span>"
              },
              {
                "key": "description",
                "highlightString": "Displays a message and runtime <span class='highlight-string'>data</span> to an operator. This can be used to request a decision, or used for acknowledgement only."
              }
            ],
            "groups": [],
            "x": 2.3902439024390243,
            "y": 0.03863987635239567,
            "scheduled": false
          }
        },
        "transitions": {
          "231": {},
          "535": {},
          "3454": {},
          "3471": {},
          "4372": {
            "550d": {
              "type": "standard",
              "state": "success"
            }
          },
          "6412": {
            "99b8": {
              "type": "standard",
              "state": "failure"
            },
            "4cf7": {
              "type": "standard",
              "state": "success"
            }
          },
          "7961": {
            "25e4": {
              "type": "standard",
              "state": "success"
            }
          },
          "8026": {},
          "8064": {},
          "workflow_start": {
            "b0ca": {
              "type": "standard",
              "state": "success"
            }
          },
          "workflow_end": {},
          "c0b5": {},
          "9e7b": {},
          "133e": {},
          "8f57": {},
          "5d68": {},
          "d03e": {},
          "90ac": {},
          "7cd8": {},
          "f567": {},
          "7a87": {},
          "de12": {},
          "edcb": {},
          "4aaa": {},
          "5ff2": {},
          "53ba": {},
          "fcff": {},
          "ebb3": {},
          "72f3": {},
          "c305": {},
          "11bc": {},
          "cdd2": {},
          "dae7": {},
          "550d": {
            "1ddd": {
              "type": "standard",
              "state": "success"
            }
          },
          "cf07": {
            "46b": {
              "type": "standard",
              "state": "success"
            }
          },
          "46b": {
            "5e23": {
              "type": "standard",
              "state": "success"
            }
          },
          "5e23": {
            "4c22": {
              "type": "standard",
              "state": "success"
            }
          },
          "4c22": {
            "7961": {
              "type": "standard",
              "state": "success"
            },
            "e48f": {
              "type": "standard",
              "state": "error"
            }
          },
          "25e4": {
            "6412": {
              "type": "standard",
              "state": "success"
            },
            "1d40": {
              "type": "standard",
              "state": "failure"
            }
          },
          "99b8": {
            "workflow_end": {
              "type": "standard",
              "state": "success"
            }
          },
          "a70d": {
            "workflow_end": {
              "type": "standard",
              "state": "success"
            }
          },
          "1d40": {
            "7961": {
              "type": "revert",
              "state": "success"
            },
            "a70d": {
              "type": "standard",
              "state": "failure"
            }
          },
          "b9f": {},
          "4cf7": {
            "99b8": {
              "type": "standard",
              "state": "success"
            }
          },
          "b0ca": {
            "fce7": {
              "type": "standard",
              "state": "success"
            }
          },
          "fce7": {
            "7f77": {
              "type": "standard",
              "state": "success"
            }
          },
          "1ddd": {
            "cf07": {
              "type": "standard",
              "state": "success"
            },
            "62a4": {
              "type": "standard",
              "state": "failure"
            }
          },
          "4bac": {
            "a70d": {
              "type": "standard",
              "state": "success"
            }
          },
          "62a4": {
            "4bac": {
              "type": "standard",
              "state": "success"
            }
          },
          "e1b4": {
            "4372": {
              "type": "standard",
              "state": "success"
            }
          },
          "7f77": {
            "e1b4": {
              "type": "standard",
              "state": "success"
            }
          },
          "e48f": {
            "7961": {
              "type": "standard",
              "state": "success"
            }
          }
        },
        "font_size": 14,
        "created": "2020-11-05T21:30:15.541Z",
        "created_by": {
          "provenance": "Local AAA",
          "username": "admin@pronghorn",
          "firstname": "admin",
          "inactive": false,
          "email": ""
        },
        "createdVersion": "5.10.4-2020.1.27",
        "groups": [],
        "last_updated": "2020-11-09T22:54:27.543Z",
        "last_updated_by": {
          "provenance": "Local AAA",
          "username": "admin@pronghorn",
          "firstname": "admin",
          "inactive": false,
          "email": ""
        },
        "lastUpdatedVersion": "5.8.0",
        "type": "automation",
        "description": null,
        "tags": []
      }
    },
    {
      "type": "workflow",
      "data": {
        "name": "Cisco IOS Upgrade - NSO upgrade",
        "tasks": {
          "620": {
            "name": "childJob",
            "summary": "Ping",
            "description": "Run a child Job inside a Workflow",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "task": "",
                "workflow": "Cisco IOS Upgrade - Connection Health Check",
                "variables": {
                  "deviceString": {
                    "variable": "",
                    "task": "job",
                    "value": "deviceString"
                  },
                  "numberOfRetries": {
                    "variable": "",
                    "task": "job",
                    "value": "numberOfRetries",
                    "editable": true
                  },
                  "numberOfRetriesStability": {
                    "variable": "",
                    "task": "job",
                    "value": "numberOfRetriesStability",
                    "editable": true
                  },
                  "secondsBetweenRetry": {
                    "variable": "",
                    "task": "job",
                    "value": "secondsBetweenRetry",
                    "editable": true
                  }
                }
              },
              "outgoing": {
                "job_details": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>child</span>Job"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Child</span> Job"
              },
              {
                "key": "description",
                "highlightString": "Run a <span class='highlight-string'>child</span> Job inside a Workflow"
              }
            ],
            "groups": [],
            "actor": "job",
            "x": 1.90197413206263,
            "y": 0.500641848523748
          },
          "6520": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Upgrade completed",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Upgrade completed",
                "message": "Device has returned online after an upgrade reload.\nPress <b>CONTINUE</b> to proceed to the post checks",
                "body": "",
                "btn_success": "CONTINUE",
                "btn_failure": ""
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 2.40172278778387,
            "y": 0.1671388101983,
            "scheduled": false
          },
          "workflow_start": {
            "name": "workflow_start",
            "groups": [],
            "x": -0.27532679738562094,
            "y": 0.4479638009049774
          },
          "workflow_end": {
            "name": "workflow_end",
            "groups": [],
            "x": 2.63172226004084,
            "y": 0.500641848523748
          },
          "a19c": {
            "name": "RunCommand",
            "summary": "Reload",
            "description": "Reload",
            "location": "Application",
            "app": "MOP",
            "displayName": "MOP",
            "type": "automatic",
            "variables": {
              "incoming": {
                "command": "reload | prompts ENTER",
                "variables": {},
                "device": "$var.job.deviceString"
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>Run</span><span class='highlight-string'>Command</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Run</span> a <span class='highlight-string'>Command</span> against a Device"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Run</span> a <span class='highlight-string'>command</span> against a device."
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.6593137254901962,
            "y": 0.4766214177978884,
            "scheduled": false
          },
          "f0af": {
            "canvasName": "evaluation",
            "location": "Application",
            "locationType": null,
            "name": "evaluation",
            "summary": "Check for different version",
            "description": "Eval pre check for true",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "outcome",
                        "operand_1": {
                          "variable": "job_details",
                          "task": "620"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "success",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "groups": [],
            "x": 2.12933968686181,
            "y": 0.501925545571245
          },
          "9c4c": {
            "name": "checkSyncDevices",
            "summary": "Perform check-sync on a list of devices",
            "description": "Each device will be sent to NSO in parallel and the result of each check-sync will be returned in the same order",
            "location": "Adapter",
            "locationType": "NSO",
            "app": "NSO",
            "displayName": "NSO",
            "type": "automatic",
            "variables": {
              "incoming": {
                "devices": "$var.job.deviceArray",
                "adapter_id": "$var.job.adapter_id"
              },
              "outgoing": {
                "sync_statuses": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "check<span class='highlight-string'>Sync</span>Devices"
              },
              {
                "key": "summary",
                "highlightString": "Perform check-<span class='highlight-string'>sync</span> on a list of devices"
              },
              {
                "key": "description",
                "highlightString": "Each device will be sent to NSO in parallel and the result of each check-<span class='highlight-string'>sync</span> will be returned in the same order"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 0.683626875407697,
            "y": 0.47167325428195,
            "scheduled": false
          },
          "a9a6": {
            "name": "evaluation",
            "summary": "sync status",
            "description": "Orchestrator",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": ".value[0].syncstatus",
                        "operand_1": {
                          "variable": "sync_statuses",
                          "task": "9c4c"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "in-sync",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 0.866275277234181,
            "y": 0.483530961791831
          },
          "206d": {
            "name": "syncFrom",
            "summary": "Sync from a device",
            "description": "Sync configurations from a specific device",
            "location": "Adapter",
            "locationType": "NSO",
            "app": "NSO",
            "displayName": "NSO",
            "type": "automatic",
            "variables": {
              "incoming": {
                "name": "$var.job.deviceString",
                "adapter_id": "$var.job.adapter_id"
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>sync</span>From"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Sync</span> from a device"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Sync</span> configurations from a specific device"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 0.954337899543379,
            "y": 0.882740447957839,
            "scheduled": false
          },
          "96be": {
            "name": "syncFrom",
            "summary": "Sync from a device",
            "description": "Sync configurations from a specific device",
            "location": "Adapter",
            "locationType": "NSO",
            "app": "NSO",
            "displayName": "NSO",
            "type": "automatic",
            "variables": {
              "incoming": {
                "name": "$var.job.deviceString",
                "adapter_id": "$var.job.adapter_id"
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>sync</span>From"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Sync</span> from a device"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Sync</span> configurations from a specific device"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 2.29067392784207,
            "y": 0.505776636713736,
            "scheduled": false
          },
          "1be5": {
            "name": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "name": "outcome",
                "value": "fail"
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "summary",
                "highlightString": "Create a <span class='highlight-string'>Job</span> Variable"
              },
              {
                "key": "description",
                "highlightString": "Create a new <span class='highlight-string'>Job</span> variable by Job ID and assign it a value."
              }
            ],
            "groups": [],
            "x": 2.62881754111198,
            "y": 1.27195467422096
          },
          "296e": {
            "name": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "name": "outcome",
                "value": "success"
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "summary",
                "highlightString": "Create a <span class='highlight-string'>Job</span> Variable"
              },
              {
                "key": "description",
                "highlightString": "Create a new <span class='highlight-string'>Job</span> variable by Job ID and assign it a value."
              }
            ],
            "groups": [],
            "x": 2.51840250587314,
            "y": 0.509915014164306
          },
          "f914": {
            "name": "RunCommand",
            "summary": "Backup Running Config",
            "description": "Backup Running Config",
            "location": "Application",
            "locationType": null,
            "app": "MOP",
            "displayName": "Command Templates",
            "type": "automatic",
            "variables": {
              "incoming": {
                "command": "$var.fb30.output",
                "variables": "$var.job.variables",
                "device": "$var.job.deviceString"
              },
              "outgoing": {
                "result": "$var.job.result"
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>RunCommand</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 0.4313304721030043,
            "y": 0.4622093023255814,
            "scheduled": false
          },
          "49b7": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Device out of sync",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Device out of sync",
                "message": "Please continue to perform a sync-from",
                "body": "",
                "btn_success": "CONTINUE",
                "btn_failure": ""
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 0.799739073711676,
            "y": 0.869565217391304,
            "scheduled": false
          },
          "8a00": {
            "name": "evaluation",
            "canvasName": "evaluation",
            "summary": "is Zero Touch",
            "description": "is Zero Touch",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "mode",
                          "task": "job",
                          "editable": true
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "Verbose",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation Task"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 0.870841487279843,
            "y": 0.677206851119895
          },
          "cd84": {
            "name": "evaluation",
            "canvasName": "evaluation",
            "summary": "is Zero Touch",
            "description": "is Zero Touch",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "mode",
                          "task": "job",
                          "editable": true
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "Zero Touch",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation Task"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 2.13469068128426,
            "y": 0.76628895184136
          },
          "32bf": {
            "name": "evaluation",
            "canvasName": "evaluation",
            "summary": "is Verbose",
            "description": "is Zero Touch",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "mode",
                          "task": "job",
                          "editable": true
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": "Verbose",
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation Task"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 2.407204385278,
            "y": 0.498583569405099
          },
          "73ed": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Error sync-from",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Error sync-from",
                "message": "Error syncing from the device. Please check for any error, and choose to either <b>TRY AGAIN</b> or <b>CANCEL</b> workflow",
                "body": "",
                "btn_success": "TRY-AGAIN",
                "btn_failure": "CANCEL"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 0.960208741030659,
            "y": 1.19235836627141,
            "scheduled": false
          },
          "624d": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Failed ping test",
            "description": "View data in a pretty format",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Failed ping test",
                "message": "Ping after Reload has <b>failed</b>!   <br>Please take corrective action.",
                "body": "",
                "btn_success": "RETRY",
                "btn_failure": "ABORT"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 2.14722004698512,
            "y": 1.03966005665722,
            "scheduled": false
          },
          "4c8e": {
            "name": "setLeaf",
            "canvasName": "setLeaf",
            "summary": "Wipe boot-marker",
            "description": "Set Leaf and Its Values.",
            "location": "Application",
            "locationType": null,
            "app": "NSOManager",
            "displayName": "NSOManager",
            "type": "automatic",
            "variables": {
              "incoming": {
                "adapterId": "$var.job.adapter_id",
                "path": "/devices/device{<!device!>}/config/ios:boot-marker/boot/system",
                "value": "<!flashMemory!><!version!>",
                "variables": "$var.job.variables",
                "set": false,
                "dryRun": false,
                "options": ""
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": true,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "set<span class='highlight-string'>Leaf</span>"
              },
              {
                "key": "summary",
                "highlightString": "set<span class='highlight-string'>Leaf</span> Task"
              },
              {
                "key": "description",
                "highlightString": "Set <span class='highlight-string'>Leaf</span> and Its Values."
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 0.984344422700587,
            "y": 0.480895915678524,
            "scheduled": false
          },
          "d88d": {
            "name": "provisionXML",
            "canvasName": "provisionXML",
            "summary": "Send raw XML to NSO.",
            "description": "Send XML to NSO to commit.",
            "location": "Adapter",
            "locationType": "NSO",
            "app": "NSO",
            "displayName": "NSO",
            "type": "automatic",
            "variables": {
              "incoming": {
                "payload": "$var.9ae.output",
                "options": "",
                "adapter_id": "$var.job.adapter_id"
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>provision</span>XML"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.34050880626223,
            "y": 0.476943346508564,
            "scheduled": false
          },
          "9ae": {
            "name": "makeData",
            "canvasName": "makeData",
            "summary": "Create boot-marker xml payload",
            "description": "Make Data",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "automatic",
            "variables": {
              "incoming": {
                "input": "<devices xmlns=\"http://tail-f.com/ns/ncs\">\n  <device>\n    <name><!device!></name>\n    <config>\n      <boot-marker xmlns=\"urn:ios\">\n        <boot>\n          <system>\n            <entry><!flashMemory!><!version!></entry>\n          </system>\n        </boot>\n      </boot-marker>\n    </config>\n  </device>\n</devices>",
                "outputType": "string",
                "variables": "$var.job.variables"
              },
              "outgoing": {
                "output": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>makeData</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.15198956294847,
            "y": 0.472990777338603,
            "scheduled": false
          },
          "219b": {
            "name": "RunCommand",
            "summary": "Backup Running Config",
            "description": "Backup Running Config",
            "location": "Application",
            "locationType": null,
            "app": "MOP",
            "displayName": "Command Templates",
            "type": "automatic",
            "variables": {
              "incoming": {
                "command": "copy running-config startup-config | prompts ENTER",
                "variables": "$var.job.variables",
                "device": "$var.job.deviceString"
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>RunCommand</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.50815394651011,
            "y": 0.486166007905138,
            "scheduled": false
          },
          "dce4": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Error Sync-From",
            "description": "Error Sync-From",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Error Sync-From",
                "message": "There was an error during a sync-from the device,<br>Please choose to either try <b>SYNC-FROM</b> again, or perform <b>PING</b> test again",
                "body": "",
                "btn_success": "sync-from",
                "btn_failure": "ping"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewD</span>ata"
              }
            ],
            "groups": [],
            "x": 2.28290551611141,
            "y": 0.163819095477387,
            "scheduled": false
          },
          "4b09": {
            "name": "getTime",
            "canvasName": "getTime",
            "summary": "Generate dateTime stamp",
            "description": "Generate dateTime stamp",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Time",
            "variables": {
              "incoming": {
                "timezone": "-05:00",
                "offsetDuration": "",
                "format": "YYYYMMDD_HHmmss"
              },
              "outgoing": {
                "time": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "displayName",
                "highlightString": "<span class='highlight-string'>Time</span>"
              },
              {
                "key": "canvasName",
                "highlightString": "get<span class='highlight-string'>Time</span>"
              },
              {
                "key": "summary",
                "highlightString": "Get <span class='highlight-string'>time</span>"
              },
              {
                "key": "description",
                "highlightString": "Gets the current <span class='highlight-string'>time</span> with an optional offset, timezone shift, and format string"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": -0.14215686274509803,
            "y": 0.4539969834087481,
            "scheduled": false
          },
          "fb30": {
            "name": "makeData",
            "canvasName": "makeData",
            "summary": "Create Backup Running Config statement",
            "description": "Create Backup Running Config statement",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Tools",
            "variables": {
              "incoming": {
                "input": "copy running-config <!flashMemory!>running-config-BACKUP-<!timeStamp!> | prompts ENTER",
                "outputType": "string",
                "variables": "$var.job.variables"
              },
              "outgoing": {
                "output": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>make</span><span class='highlight-string'>Data</span>"
              },
              {
                "key": "summary",
                "highlightString": "Convert input into a different <span class='highlight-string'>data</span> type"
              },
              {
                "key": "description",
                "highlightString": "This task takes an input and converts it to a different <span class='highlight-string'>data</span> type. For example, converting a number into a string."
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 0.2543307086614173,
            "y": 0.4662420382165605,
            "scheduled": false
          },
          "1ca0": {
            "name": "evaluation",
            "canvasName": "evaluation",
            "summary": "Evaluate Backup task response",
            "description": "Evaluate Backup task response",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "result",
                        "operand_1": {
                          "variable": "result",
                          "task": "f914"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": true,
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation Task"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 0.5379113018597997,
            "y": 0.4796511627906977
          },
          "c7b0": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Device Backup Failed",
            "description": "Device Backup Failed",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Backup Failed!",
                "message": "Device backup failed",
                "body": "$var.job.result",
                "btn_success": "TERMINATE",
                "btn_failure": ""
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 0.5393419170243204,
            "y": 1.3008720930232558,
            "scheduled": false
          },
          "e726": {
            "name": "setObjectKey",
            "canvasName": "setObjectKey",
            "summary": "Set Object Key",
            "description": "Set an object key",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Object",
            "variables": {
              "incoming": {
                "obj": "$var.job.variables",
                "path": [
                  "timeStamp"
                ],
                "value": "$var.a64b.return_data"
              },
              "outgoing": {
                "object": "$var.job.variables"
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "displayName",
                "highlightString": "<span class='highlight-string'>Obj</span>ect"
              },
              {
                "key": "canvasName",
                "highlightString": "set<span class='highlight-string'>Obj</span>ectKey"
              },
              {
                "key": "summary",
                "highlightString": "Set <span class='highlight-string'>Obj</span>ect Key"
              },
              {
                "key": "description",
                "highlightString": "Set an <span class='highlight-string'>obj</span>ect key"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 0.07924836601307189,
            "y": 0.4555052790346908,
            "scheduled": false
          },
          "a64b": {
            "name": "query",
            "canvasName": "query",
            "summary": "Query dateTime stamp",
            "description": "Query dateTime stamp",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "pass_on_null": false,
                "query": "time",
                "obj": "$var.4b09.time"
              },
              "outgoing": {
                "return_data": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>query</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Query</span> Data Using 'json-query' Format"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."
              }
            ],
            "groups": [],
            "x": -0.027777777777777776,
            "y": 0.444947209653092,
            "scheduled": false
          },
          "cff5": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Device reload failed",
            "description": "Device reload failed",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Device reload failed",
                "message": "Reload command has been issued on the device. During boot up process device appears offline, and may take couple of minutes before returning back to operational state. You may monitor device state during boot up process using a console.\nPlease press continue to proceed to health check",
                "body": "",
                "btn_success": "Continue",
                "btn_failure": ""
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>View</span><span class='highlight-string'>Data</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>View</span> <span class='highlight-string'>Data</span>"
              },
              {
                "key": "description",
                "highlightString": "Displays a message and runtime <span class='highlight-string'>data</span> to an operator. This can be used to request a decision, or used for acknowledgement only."
              }
            ],
            "groups": [],
            "x": 1.6639566395663956,
            "y": 0.8524355300859598,
            "scheduled": false
          }
        },
        "transitions": {
          "231": {},
          "535": {},
          "620": {
            "f0af": {
              "type": "standard",
              "state": "success"
            }
          },
          "3454": {},
          "3471": {},
          "5418": {},
          "6520": {
            "296e": {
              "type": "standard",
              "state": "success"
            }
          },
          "8064": {},
          "workflow_start": {
            "4b09": {
              "type": "standard",
              "state": "success"
            }
          },
          "workflow_end": {},
          "c0b5": {},
          "9e7b": {},
          "133e": {},
          "8f57": {},
          "5d68": {},
          "d03e": {},
          "90ac": {},
          "7cd8": {},
          "f567": {},
          "7a87": {},
          "d6d9": {},
          "de12": {},
          "edcb": {},
          "4aaa": {},
          "510d": {},
          "a19c": {
            "620": {
              "type": "standard",
              "state": "success"
            },
            "cff5": {
              "type": "standard",
              "state": "error"
            }
          },
          "8eba": {},
          "f0af": {
            "96be": {
              "type": "standard",
              "state": "success"
            },
            "cd84": {
              "type": "standard",
              "state": "failure"
            }
          },
          "fcff": {},
          "5deb": {},
          "e7cc": {},
          "72f3": {},
          "c305": {},
          "9c4c": {
            "a9a6": {
              "type": "standard",
              "state": "success"
            }
          },
          "a9a6": {
            "8a00": {
              "type": "standard",
              "state": "failure"
            },
            "4c8e": {
              "type": "standard",
              "state": "success"
            }
          },
          "cdd2": {},
          "206d": {
            "4c8e": {
              "type": "standard",
              "state": "success"
            },
            "73ed": {
              "type": "standard",
              "state": "error"
            }
          },
          "96be": {
            "32bf": {
              "type": "standard",
              "state": "success"
            },
            "dce4": {
              "type": "standard",
              "state": "error"
            }
          },
          "1be5": {
            "workflow_end": {
              "type": "standard",
              "state": "success"
            }
          },
          "296e": {
            "workflow_end": {
              "type": "standard",
              "state": "success"
            }
          },
          "f914": {
            "1ca0": {
              "type": "standard",
              "state": "success"
            }
          },
          "49b7": {
            "206d": {
              "type": "standard",
              "state": "success"
            }
          },
          "8a00": {
            "206d": {
              "type": "standard",
              "state": "success"
            },
            "49b7": {
              "type": "standard",
              "state": "failure"
            }
          },
          "cd84": {
            "1be5": {
              "type": "standard",
              "state": "success"
            },
            "624d": {
              "type": "standard",
              "state": "failure"
            }
          },
          "32bf": {
            "6520": {
              "type": "standard",
              "state": "success"
            },
            "296e": {
              "type": "standard",
              "state": "failure"
            }
          },
          "73ed": {
            "1be5": {
              "type": "standard",
              "state": "failure"
            },
            "206d": {
              "type": "revert",
              "state": "success"
            }
          },
          "624d": {
            "620": {
              "type": "revert",
              "state": "success"
            },
            "1be5": {
              "type": "standard",
              "state": "failure"
            }
          },
          "f7ea": {},
          "4c8e": {
            "9ae": {
              "type": "standard",
              "state": "success"
            }
          },
          "d88d": {
            "219b": {
              "type": "standard",
              "state": "success"
            }
          },
          "9ae": {
            "d88d": {
              "type": "standard",
              "state": "success"
            }
          },
          "219b": {
            "a19c": {
              "type": "standard",
              "state": "success"
            }
          },
          "dce4": {
            "620": {
              "type": "revert",
              "state": "failure"
            },
            "96be": {
              "type": "revert",
              "state": "success"
            }
          },
          "4b09": {
            "a64b": {
              "type": "standard",
              "state": "success"
            }
          },
          "fb30": {
            "f914": {
              "type": "standard",
              "state": "success"
            }
          },
          "1ca0": {
            "9c4c": {
              "type": "standard",
              "state": "success"
            },
            "c7b0": {
              "type": "standard",
              "state": "failure"
            }
          },
          "c7b0": {
            "1be5": {
              "type": "standard",
              "state": "success"
            }
          },
          "e726": {
            "fb30": {
              "type": "standard",
              "state": "success"
            }
          },
          "a64b": {
            "e726": {
              "type": "standard",
              "state": "success"
            }
          },
          "cff5": {
            "620": {
              "type": "standard",
              "state": "success"
            }
          }
        },
        "font_size": 14,
        "created": "2020-11-05T21:30:45.479Z",
        "created_by": {
          "provenance": "Local AAA",
          "username": "admin@pronghorn",
          "firstname": "admin",
          "inactive": false,
          "email": ""
        },
        "createdVersion": "5.10.4-2020.1.27",
        "groups": [],
        "last_updated": "2020-11-10T15:16:47.465Z",
        "last_updated_by": {
          "provenance": "Local AAA",
          "username": "admin@pronghorn",
          "firstname": "admin",
          "inactive": false,
          "email": ""
        },
        "lastUpdatedVersion": "5.8.0",
        "type": "automation",
        "description": null,
        "tags": []
      }
    },
    {
      "type": "workflow",
      "data": {
        "name": "Cisco IOS Upgrade - Connection Health Check",
        "tasks": {
          "3552": {
            "name": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "name": "outcome",
                "value": "success"
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>new</span>Variable"
              },
              {
                "key": "description",
                "highlightString": "Create a <span class='highlight-string'>new</span> <span class='highlight-string'>Job</span> variable by Job ID and assign it a value."
              },
              {
                "key": "summary",
                "highlightString": "Create a <span class='highlight-string'>Job</span> Variable"
              }
            ],
            "groups": [],
            "x": 0.3925561797752809,
            "y": 0.23215984776403426
          },
          "3872": {
            "name": "transformation",
            "canvasName": "transformation",
            "summary": "JSON Transformation",
            "description": "Perform a JSON Transformation using the JST library.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "tr_id": "601d649812e46526a828dced",
                "variableMap": {
                  "tally": "$var.job.failureCounter"
                },
                "options": {
                  "extractOutput": true
                }
              },
              "outgoing": {
                "tally": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "description",
                "highlightString": "Perform a JSON Transformation using the <span class='highlight-string'>JST</span> library."
              }
            ],
            "groups": [],
            "x": -0.18047752808988765,
            "y": 0.12749762131303521,
            "task_name": "incrementNumber"
          },
          "8601": {
            "name": "transformation",
            "canvasName": "transformation",
            "summary": "JSON Transformation",
            "description": "Perform a JSON Transformation using the JST library.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "tr_id": "601d649812e46526a828dced",
                "variableMap": {
                  "tally": "$var.job.consecutiveSuccess"
                },
                "options": {
                  "extractOutput": true
                }
              },
              "outgoing": {
                "tally": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "description",
                "highlightString": "Perform a JSON Transformation using the <span class='highlight-string'>JST</span> library."
              }
            ],
            "groups": [],
            "x": -0.11025280898876405,
            "y": 0.2340627973358706,
            "task_name": "incrementNumber"
          },
          "9839": {
            "name": "newVariable",
            "canvasName": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "name": "consecutiveSuccess",
                "value": 0
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>newVar</span>iable"
              }
            ],
            "groups": [],
            "x": -0.5066948555320648,
            "y": 0.2497398543184183
          },
          "workflow_start": {
            "name": "workflow_start",
            "groups": [],
            "x": -0.8434913468773514,
            "y": 0.24753694581280788
          },
          "workflow_end": {
            "name": "workflow_end",
            "groups": [],
            "x": 0.5287921348314607,
            "y": 0.2340627973358706
          },
          "18d6": {
            "name": "isAlive",
            "summary": "Test Connection",
            "description": "This method will retrieve the status of the device in Automation Gateway",
            "location": "Application",
            "locationType": null,
            "app": "ConfigurationManager",
            "displayName": "ConfigurationManager",
            "type": "automatic",
            "variables": {
              "incoming": {
                "name": "$var.job.deviceString"
              },
              "outgoing": {
                "status": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "app",
                "highlightString": "<span class='highlight-string'>Configu</span>rationManager"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": -0.28893905191873587,
            "y": 0.24630541871921183,
            "scheduled": false
          },
          "567c": {
            "name": "delay",
            "summary": "Delay a Job",
            "description": "Wait for #seconds for device to come alive before connecting.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "time": "$var.job.secondsBetweenRetry"
              },
              "outgoing": {
                "time_in_milliseconds": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>delay</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Delay</span> a Job"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Delay</span> a Job for a duration by Job ID and number of seconds."
              }
            ],
            "groups": [],
            "x": -0.3890142964635064,
            "y": 0.24753694581280788,
            "scheduled": false
          },
          "f195": {
            "name": "evaluation",
            "summary": "Have we exceeded numberOfRetries",
            "description": "Check to verify that the length of failCounter does not exceed our numberOfRetries.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "failureCounter",
                          "task": "job"
                        },
                        "operator": ">",
                        "operand_2": {
                          "variable": "numberOfRetries",
                          "task": "job"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation Task"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": -0.1875,
            "y": -0.1493815413891532
          },
          "3a95": {
            "name": "evaluation",
            "summary": "Evaluate connection response from device.",
            "description": "Evaluate connection response from device.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": ".response",
                        "operand_1": {
                          "variable": "status",
                          "task": "18d6"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": true,
                          "task": "static"
                        }
                      },
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "status",
                          "task": "18d6"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": true,
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation Task"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": -0.17970401691331925,
            "y": 0.2351716961498439
          },
          "3eba": {
            "name": "evaluation",
            "summary": "Count success attempts",
            "description": "Check to verify that the total number of successes is not more than the numberOfRetriesStability.   If it's not, then go back and try again.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "consecutiveSuccess",
                          "task": "job"
                        },
                        "operator": ">",
                        "operand_2": {
                          "variable": "numberOfRetries",
                          "task": "job"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation Task"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 0.2970505617977528,
            "y": 0.23215984776403426
          },
          "6ca1": {
            "name": "delay",
            "summary": "Delay before next test",
            "description": "Wait for 1 second before connecting to the device to continue stability testing.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "time": 1
              },
              "outgoing": {
                "time_in_milliseconds": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>delay</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Delay</span> a Job"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Delay</span> a Job for a duration by Job ID and number of seconds."
              }
            ],
            "groups": [],
            "x": 0.15941011235955055,
            "y": 0.23215984776403426,
            "scheduled": false
          },
          "16f7": {
            "name": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "name": "outcome",
                "value": "fail"
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>new</span>Variable"
              },
              {
                "key": "description",
                "highlightString": "Create a <span class='highlight-string'>new</span> <span class='highlight-string'>Job</span> variable by Job ID and assign it a value."
              },
              {
                "key": "summary",
                "highlightString": "Create a <span class='highlight-string'>Job</span> Variable"
              }
            ],
            "groups": [],
            "x": 0.38553370786516855,
            "y": -0.15128449096098953
          },
          "b88f": {
            "name": "evaluation",
            "summary": "Verify required job variables are greater than 0",
            "description": "Verify the follow values are greater than 0 : numberOfRetries, numberOfRetriesStability, secondsBetweenRetry",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": true,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "numberOfRetries",
                          "task": "job",
                          "editable": true
                        },
                        "operator": ">",
                        "operand_2": {
                          "variable": 0,
                          "task": "static"
                        }
                      },
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "numberOfRetriesStability",
                          "task": "job",
                          "editable": true
                        },
                        "operator": ">",
                        "operand_2": {
                          "variable": 0,
                          "task": "static"
                        }
                      },
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "secondsBetweenRetry",
                          "task": "job",
                          "editable": true
                        },
                        "operator": ">",
                        "operand_2": {
                          "variable": 0,
                          "task": "static",
                          "editable": true
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation Task"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": -0.7553648068669528,
            "y": 0.25451092117758783
          },
          "2e93": {
            "name": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "displayName": "WorkFlowEngine",
            "type": "operation",
            "variables": {
              "incoming": {
                "name": "outcome",
                "value": "bad input"
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "name",
                "highlightString": "<span class='highlight-string'>new</span>Variable"
              },
              {
                "key": "description",
                "highlightString": "Create a <span class='highlight-string'>new</span> <span class='highlight-string'>Job</span> variable by Job ID and assign it a value."
              },
              {
                "key": "summary",
                "highlightString": "Create a <span class='highlight-string'>Job</span> Variable"
              }
            ],
            "groups": [],
            "x": 0.40168539325842695,
            "y": 0.3967649857278782
          },
          "150f": {
            "name": "newVariable",
            "canvasName": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "name": "failureCounter",
                "value": 0
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>newVar</span>iable"
              }
            ],
            "groups": [],
            "x": -0.6321353065539113,
            "y": 0.25078043704474506
          },
          "187a": {
            "name": "reattempt",
            "canvasName": "reattempt",
            "summary": "Re-attempt Test Connection",
            "description": "If the test connection task is unable to connect due to an adapter failure, we will reattempt by the number of retries passed in the job variables.",
            "location": "Application",
            "locationType": null,
            "app": "MOP",
            "type": "automatic",
            "displayName": "MOP",
            "variables": {
              "incoming": {
                "job_id": "$var.job._id",
                "attemptID": "retry_test_connection",
                "minutes": 0,
                "attempts": "$var.job.numberOfRetries"
              },
              "outgoing": {
                "response": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>reattempt</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": -0.2898212898212898,
            "y": 0.41427155599603566,
            "scheduled": false
          },
          "52d9": {
            "name": "stub",
            "canvasName": "stub",
            "summary": "Exit Workflow",
            "description": "One of the values was not greater than 0 : numberOfRetries, numberOfRetriesStability, secondsBetweenRetry",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Tools",
            "variables": {
              "incoming": {
                "type": "success",
                "delay": 0,
                "response": "success"
              },
              "outgoing": {
                "response": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>stub</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Stub</span>"
              },
              {
                "key": "description",
                "highlightString": "Create a <span class='highlight-string'>stub</span> for an automated task"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": -0.7618040873854828,
            "y": 0.4172736732570239,
            "scheduled": false
          },
          "471d": {
            "name": "newVariable",
            "canvasName": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "name": "consecutiveSuccess",
                "value": "$var.8601.tally"
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>newVar</span>iable"
              }
            ],
            "groups": [],
            "x": 0.011938202247191011,
            "y": 0.22930542340627974
          },
          "8aa1": {
            "name": "newVariable",
            "canvasName": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "name": "failureCounter",
                "value": "$var.3872.tally"
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>newVar</span>iable"
              }
            ],
            "groups": [],
            "x": -0.18328651685393257,
            "y": -0.003805899143672693
          }
        },
        "transitions": {
          "609": {},
          "3552": {
            "workflow_end": {
              "type": "standard",
              "state": "success"
            }
          },
          "3872": {
            "8aa1": {
              "type": "standard",
              "state": "success"
            }
          },
          "8089": {},
          "8335": {},
          "8601": {
            "471d": {
              "type": "standard",
              "state": "success"
            }
          },
          "8675": {},
          "9839": {
            "567c": {
              "type": "standard",
              "state": "success"
            }
          },
          "workflow_start": {
            "b88f": {
              "type": "standard",
              "state": "success"
            }
          },
          "workflow_end": {},
          "7c30": {},
          "a4db": {},
          "18d6": {
            "3a95": {
              "type": "standard",
              "state": "success"
            },
            "187a": {
              "type": "standard",
              "state": "error"
            }
          },
          "e1cc": {},
          "a9c9": {},
          "542d": {},
          "567c": {
            "18d6": {
              "type": "standard",
              "state": "success"
            }
          },
          "ff59": {},
          "4e82": {},
          "3aa0": {},
          "d193": {},
          "cfe8": {},
          "b3cb": {},
          "f195": {
            "9839": {
              "type": "revert",
              "state": "failure"
            },
            "16f7": {
              "type": "standard",
              "state": "success"
            }
          },
          "3a95": {
            "3872": {
              "type": "standard",
              "state": "failure"
            },
            "8601": {
              "type": "standard",
              "state": "success"
            }
          },
          "3eba": {
            "3552": {
              "type": "standard",
              "state": "success"
            },
            "18d6": {
              "type": "revert",
              "state": "failure"
            }
          },
          "6ca1": {
            "3eba": {
              "type": "standard",
              "state": "success"
            }
          },
          "16f7": {
            "workflow_end": {
              "type": "standard",
              "state": "success"
            }
          },
          "461c": {},
          "b544": {},
          "f921": {},
          "b88f": {
            "150f": {
              "type": "standard",
              "state": "success"
            },
            "52d9": {
              "type": "standard",
              "state": "failure"
            }
          },
          "2e93": {
            "workflow_end": {
              "type": "standard",
              "state": "success"
            }
          },
          "150f": {
            "9839": {
              "type": "standard",
              "state": "success"
            }
          },
          "187a": {
            "2e93": {
              "type": "standard",
              "state": "error"
            },
            "567c": {
              "type": "revert",
              "state": "success"
            }
          },
          "52d9": {
            "2e93": {
              "type": "standard",
              "state": "success"
            }
          },
          "c17b": {},
          "77df": {},
          "471d": {
            "6ca1": {
              "type": "standard",
              "state": "success"
            }
          },
          "8aa1": {
            "f195": {
              "type": "standard",
              "state": "success"
            }
          }
        },
        "font_size": 12,
        "created": "2021-03-02T13:39:45.210Z",
        "created_by": {
          "provenance": "Itential AAA Local",
          "username": "admin@pronghorn",
          "firstname": "admin",
          "inactive": false
        },
        "createdVersion": "5.29.14-2020.2.7.0",
        "groups": [],
        "last_updated": "2021-03-02T13:40:22.342Z",
        "last_updated_by": {
          "provenance": "Itential AAA Local",
          "username": "admin@pronghorn",
          "firstname": "admin",
          "inactive": false
        },
        "lastUpdatedVersion": "5.29.14-2020.2.7.0",
        "type": "automation",
        "description": null,
        "tags": [],
        "inputSchema": {
          "type": "object",
          "properties": {
            "deviceString": {
              "type": [
                "array",
                "boolean",
                "null",
                "number",
                "object",
                "string"
              ]
            },
            "secondsBetweenRetry": {
              "type": "integer",
              "minimum": 1,
              "examples": [
                1200
              ]
            },
            "numberOfRetries": {
              "title": "attempts",
              "type": "integer",
              "examples": [
                2
              ]
            },
            "numberOfRetriesStability": {
              "type": [
                "array",
                "boolean",
                "null",
                "number",
                "object",
                "string"
              ]
            },
            "_id": {
              "title": "job_id",
              "type": "string",
              "examples": [
                "test"
              ]
            }
          },
          "required": [
            "deviceString",
            "secondsBetweenRetry",
            "numberOfRetries",
            "numberOfRetriesStability",
            "_id"
          ]
        },
        "outputSchema": {
          "type": "object",
          "properties": {
            "deviceString": {
              "type": [
                "array",
                "boolean",
                "null",
                "number",
                "object",
                "string"
              ]
            },
            "secondsBetweenRetry": {
              "type": "integer",
              "minimum": 1,
              "examples": [
                1200
              ]
            },
            "numberOfRetries": {
              "title": "attempts",
              "type": "integer",
              "examples": [
                2
              ]
            },
            "numberOfRetriesStability": {
              "type": [
                "array",
                "boolean",
                "null",
                "number",
                "object",
                "string"
              ]
            },
            "_id": {
              "type": "string",
              "pattern": "^[0-9a-f]{24}$"
            },
            "initiator": {
              "type": "string"
            },
            "outcome": {
              "type": "string"
            },
            "failureCounter": {
              "type": [
                "array",
                "boolean",
                "null",
                "number",
                "object",
                "string"
              ]
            },
            "consecutiveSuccess": {
              "type": [
                "array",
                "boolean",
                "null",
                "number",
                "object",
                "string"
              ]
            }
          }
        }
      }
    },
    {
      "type": "json-forms",
      "data": {
        "id": "5e3c6f6aee88a80774894031",
        "created": "2020-02-06T19:56:26.946Z",
        "createdBy": "admin@pronghorn",
        "lastUpdated": "2020-11-06T16:47:27.397Z",
        "lastUpdatedBy": "admin@pronghorn",
        "name": "Cisco IOS Upgrade Form",
        "description": "A form to be used in conjunction with Itential's \"Cisco IOS Device Upgrade\" Artifacts ",
        "struct": {
          "nodeId": "6077aa8e-b9d3-4782-a830-5d2ee314303f",
          "type": "array",
          "items": [
            {
              "nodeId": "d4c81ed7-7ab7-4bec-a4f0-fc3336e58e7f",
              "type": "string",
              "title": "Mode",
              "description": "",
              "placeholder": "Chose a mode for workflow ",
              "required": true,
              "enum": [
                {
                  "id": "a54b35da-8f66-4b55-895f-d9a5b8572d35",
                  "value": "Zero Touch"
                },
                {
                  "id": "e47f6ef9-6e02-4d28-a4ab-6fcaf888d01b",
                  "value": "Normal"
                },
                {
                  "id": "c96f43b8-d4b0-496b-89e8-23c4fd390103",
                  "value": "Verbose"
                }
              ],
              "binding": false,
              "rel": "collection",
              "targetPointer": "/enum"
            },
            {
              "nodeId": "1e290c60-f66a-4193-bd01-b5e52be84714",
              "type": "string",
              "title": "IOS Device Hostname",
              "description": "",
              "placeholder": "",
              "required": true,
              "enum": [
                {
                  "id": "b5dccda9-4a88-4061-838a-157c12f7cb0b",
                  "value": null
                }
              ],
              "binding": true,
              "rel": "collection",
              "targetPointer": "/enum",
              "method": "POST",
              "base": "/",
              "href": "configuration_manager/devices",
              "body": {
                "options": {
                  "filter": {
                    "name": ""
                  },
                  "start": 0,
                  "limit": 200,
                  "sort": [
                    {
                      "name": 1
                    }
                  ],
                  "order": "ascending"
                }
              },
              "sourcePointer": "/list",
              "sourceKeyPointer": "/name"
            },
            {
              "nodeId": "c96d2705-ad1e-4d1e-994b-e8329929c2a1",
              "type": "string",
              "title": "Release",
              "description": "",
              "placeholder": "Files must be already located on the device prior to the start of this workflow.",
              "required": false,
              "enum": [
                {
                  "id": "1e47aaad-997d-4341-abed-c7b002e12dd0",
                  "value": "csr1000v-universalk9.03.10.03.S.153-3.S3-ext.SPA.bin"
                },
                {
                  "id": "816b2984-ce8d-4b50-9a25-c2274d6de07c",
                  "value": "csr1000v-universalk9.03.10.02.S.153-3.S2-ext.SPA.bin"
                }
              ],
              "binding": false,
              "rel": "collection",
              "targetPointer": "/enum"
            },
            {
              "nodeId": "b1d796e8-e750-42ac-8e66-2c2e06f5e74a",
              "type": "string",
              "title": "Flash Memory",
              "description": "",
              "placeholder": "Select an item",
              "required": true,
              "enum": [
                {
                  "id": "f1f35388-ad59-4078-9849-b5bd321b6086",
                  "value": "bootflash:"
                },
                {
                  "id": "04ddcf3d-33b3-46e2-b8be-6ba63f21b774",
                  "value": "flash:"
                }
              ],
              "binding": false,
              "rel": "collection",
              "targetPointer": "/enum"
            },
            {
              "nodeId": "522777e5-2a43-4193-80eb-15d0e723eb70",
              "type": "object",
              "description": "",
              "items": [
                {
                  "nodeId": "69ea6e82-0af9-492f-bd96-7d9cbc9cba4b",
                  "type": "number",
                  "widget": "updown",
                  "title": "Number of retries",
                  "description": "Number of times to retry the healthcheck before concluding a failure",
                  "placeholder": "",
                  "required": true
                },
                {
                  "nodeId": "fed7967d-42d1-47c7-80d5-6ad6a5b8cfaf",
                  "type": "number",
                  "widget": "updown",
                  "title": "Number of retries stability",
                  "description": "Number of consecutive successful pings required to conclude that device is stable. This feature will detect unstable interfaces. ",
                  "placeholder": "",
                  "required": true
                },
                {
                  "nodeId": "638a8a8f-259e-4c1e-90bf-aba143e3ed60",
                  "type": "number",
                  "widget": "updown",
                  "title": "Seconds between retry",
                  "description": "Number of seconds to wait in between each failed ping",
                  "placeholder": "",
                  "required": true
                }
              ],
              "title": "Healthcheck Variables"
            }
          ]
        },
        "schema": {
          "title": "Cisco IOS Upgrade Form",
          "description": "A form to be used in conjunction with Itential's \"Cisco IOS Device Upgrade\" Artifacts ",
          "type": "object",
          "required": [
            "mode",
            "iosDeviceHostname",
            "flashMemory"
          ],
          "properties": {
            "mode": {
              "type": "string",
              "title": "Mode",
              "description": "",
              "enum": [
                "Zero Touch",
                "Normal",
                "Verbose"
              ]
            },
            "iosDeviceHostname": {
              "type": "string",
              "title": "IOS Device Hostname",
              "description": "",
              "enum": []
            },
            "release": {
              "type": "string",
              "title": "Release",
              "description": "",
              "enum": [
                "csr1000v-universalk9.03.10.03.S.153-3.S3-ext.SPA.bin",
                "csr1000v-universalk9.03.10.02.S.153-3.S2-ext.SPA.bin"
              ]
            },
            "flashMemory": {
              "type": "string",
              "title": "Flash Memory",
              "description": "",
              "enum": [
                "bootflash:",
                "flash:"
              ]
            },
            "healthcheckVariables": {
              "type": "object",
              "title": "Healthcheck Variables",
              "description": "",
              "required": [
                "numberOfRetries",
                "numberOfRetriesStability",
                "secondsBetweenRetry"
              ],
              "properties": {
                "numberOfRetries": {
                  "type": "number",
                  "title": "Number of retries",
                  "description": "Number of times to retry the healthcheck before concluding a failure"
                },
                "numberOfRetriesStability": {
                  "type": "number",
                  "title": "Number of retries stability",
                  "description": "Number of consecutive successful pings required to conclude that device is stable. This feature will detect unstable interfaces. "
                },
                "secondsBetweenRetry": {
                  "type": "number",
                  "title": "Seconds between retry",
                  "description": "Number of seconds to wait in between each failed ping"
                }
              }
            }
          }
        },
        "uiSchema": {
          "mode": {
            "ui:placeholder": "Chose a mode for workflow "
          },
          "release": {
            "ui:placeholder": "Files must be already located on the device prior to the start of this workflow."
          },
          "flashMemory": {
            "ui:placeholder": "Select an item"
          },
          "healthcheckVariables": {
            "numberOfRetries": {
              "ui:widget": "updown"
            },
            "numberOfRetriesStability": {
              "ui:widget": "updown"
            },
            "secondsBetweenRetry": {
              "ui:widget": "updown"
            }
          }
        },
        "bindingSchema": {
          "properties": {
            "iosDeviceHostname": {
              "binding:method": "POST",
              "binding:link": {
                "$ref": "/links",
                "rel": "collection"
              },
              "binding:body": {
                "options": {
                  "filter": {
                    "name": ""
                  },
                  "start": 0,
                  "limit": 200,
                  "sort": [
                    {
                      "name": 1
                    }
                  ],
                  "order": "ascending"
                }
              },
              "binding:source": {
                "propertyPointer": "/list",
                "keyPointer": "/name"
              },
              "binding:target": {
                "propertyPointer": "/enum"
              },
              "binding:hyperSchema": {
                "type": "object",
                "base": "/",
                "links": [
                  {
                    "rel": "collection",
                    "href": "configuration_manager/devices",
                    "targetMediaType": "application/json",
                    "targetSchema": {
                      "$ref": "#"
                    }
                  }
                ]
              }
            },
            "healthcheckVariables": {
              "properties": {}
            }
          }
        },
        "validationSchema": {
          "healthcheckVariables": {}
        },
        "version": "2020.1"
      }
    },
    {
      "type": "mop-template",
      "data": {
        "tags": [
          {
            "_id": "5daa19ab9f40323ae6aaaa30",
            "name": "cisco ios upgrade",
            "description": "A tag to be used with the cisco ios upgrade artifact"
          },
          {
            "_id": "5d70d07301fe6a14dd2efb70",
            "name": "artifacts",
            "description": "Itential artifacts are containerized use cases that are packaged together. They can be anything like workflows, MOP templates, forms, golden config trees, and more"
          }
        ],
        "name": "Cisco IOS Upgrade",
        "os": "",
        "passRule": true,
        "ignoreWarnings": false,
        "commands": [
          {
            "command": "show ver",
            "passRule": true,
            "rules": [
              {
                "rule": "Configuration register is 0x2102",
                "eval": "contains",
                "severity": "error"
              }
            ],
            "tempCommand": "show ver",
            "ruleValues": [
              {
                "rule": "Configuration register is 0x2102",
                "eval": "contains",
                "severity": "error"
              }
            ]
          },
          {
            "command": "show running",
            "passRule": true,
            "rules": [
              {
                "rule": "",
                "eval": "contains",
                "severity": "error",
                "flags": {
                  "case": false
                }
              }
            ],
            "tempCommand": "show running",
            "ruleValues": [
              {
                "rule": "",
                "eval": "contains",
                "severity": "error",
                "flags": {
                  "case": false
                }
              }
            ]
          },
          {
            "command": "show ip int br",
            "passRule": true,
            "rules": [
              {
                "rule": "",
                "eval": "contains",
                "severity": "error"
              }
            ],
            "tempCommand": "show ip int br",
            "ruleValues": [
              {
                "rule": "",
                "eval": "contains",
                "severity": "error"
              }
            ]
          },
          {
            "command": "show license",
            "passRule": true,
            "rules": [
              {
                "rule": "",
                "eval": "contains",
                "severity": "error"
              }
            ],
            "tempCommand": "show license",
            "ruleValues": [
              {
                "rule": "",
                "eval": "contains",
                "severity": "error"
              }
            ]
          },
          {
            "command": "show clock",
            "passRule": true,
            "rules": [
              {
                "rule": "",
                "eval": "contains",
                "severity": "error"
              }
            ],
            "tempCommand": "show clock",
            "ruleValues": [
              {
                "rule": "",
                "eval": "contains",
                "severity": "error"
              }
            ]
          },
          {
            "command": "show ntp status",
            "passRule": true,
            "rules": [
              {
                "rule": "NTP is not enabled.",
                "eval": "!contains",
                "severity": "warning"
              },
              {
                "rule": "Clock is unsynchronized",
                "eval": "!contains",
                "severity": "warning"
              }
            ],
            "tempCommand": "show ntp status",
            "ruleValues": [
              {
                "rule": "NTP is not enabled.",
                "eval": "!contains",
                "severity": "warning"
              },
              {
                "rule": "Clock is unsynchronized",
                "eval": "!contains",
                "severity": "warning"
              }
            ]
          },
          {
            "command": "show memory statistics",
            "passRule": true,
            "rules": [
              {
                "rule": "/Processor\\s+\\S+\\s+(\\d+)/",
                "eval": "#comparison",
                "severity": "error",
                "evaluator": "%",
                "percentage": 90,
                "ruleB": "/Processor\\s+\\S+\\s+\\S+\\s+(\\d+)/"
              },
              {
                "rule": "/Processor\\s+\\S+\\s+(\\d+)/",
                "eval": "#comparison",
                "severity": "warning",
                "ruleB": "/Processor\\s+\\S+\\s+\\S+\\s+(\\d+)/",
                "evaluator": "%",
                "percentage": 80
              },
              {
                "rule": "/Processor\\s+\\S+\\s+(\\d+)/",
                "eval": "#comparison",
                "severity": "info",
                "evaluator": "%",
                "ruleB": "/Processor\\s+\\S+\\s+\\S+\\s+(\\d+)/",
                "percentage": 70
              }
            ],
            "tempCommand": "show memory statistics",
            "ruleValues": [
              {
                "rule": "/Processor\\s+\\S+\\s+(\\d+)/",
                "eval": "#comparison",
                "severity": "error",
                "evaluator": "%",
                "percentage": 90,
                "ruleB": "/Processor\\s+\\S+\\s+\\d+\\s+(\\d+)/"
              },
              {
                "rule": "/Processor\\s+\\S+\\s+(\\d+)/",
                "eval": "#comparison",
                "severity": "warning",
                "ruleB": "/Processor\\s+\\S+\\s+\\d+\\s+(\\d+)/",
                "evaluator": "%",
                "percentage": 80
              },
              {
                "rule": "/Processor\\s+\\S+\\s+(\\d+)/",
                "eval": "#comparison",
                "severity": "info",
                "evaluator": "%",
                "ruleB": "/Processor\\s+\\S+\\s+\\d+\\s+(\\d+)/",
                "percentage": 70
              }
            ]
          },
          {
            "command": "show logging",
            "passRule": true,
            "rules": [
              {
                "rule": "Fatal",
                "eval": "!contains",
                "severity": "error",
                "flags": {
                  "case": true
                }
              }
            ],
            "tempCommand": "show logging",
            "ruleValues": [
              {
                "rule": "",
                "eval": "contains",
                "severity": "error"
              }
            ]
          }
        ],
        "created": 1565028492419,
        "createdBy": "Itential-Artifacts",
        "lastUpdated": 1581968745257,
        "lastUpdatedBy": "Itential Artifacts"
      }
    },
    {
      "type": "mop-template",
      "data": {
        "tags": [
          {
            "_id": "5fa2ffa1196318567d1f8f80",
            "name": "artifacts",
            "description": "Itential artifacts are containerized use cases that are packaged together. They can be anything like workflows, MOP templates, forms, golden config trees, and more"
          },
          {
            "_id": "5fa2ffa1196318567d1f8f7f",
            "name": "cisco ios upgrade",
            "description": "A tag to be used with the cisco ios upgrade artifact"
          }
        ],
        "name": "Cisco IOS Upgrade State Checks",
        "os": "",
        "passRule": true,
        "ignoreWarnings": false,
        "commands": [
          {
            "command": "show ver | i System image file is",
            "passRule": true,
            "rules": [
              {
                "rule": "<!version!>",
                "eval": "!contains",
                "severity": "error",
                "flags": {
                  "case": true
                }
              }
            ],
            "tempCommand": "show ver | i System image file is",
            "ruleValues": [
              {
                "rule": "csr1000v-universalk9.03.10.03.S.153-3.S3-ext.SPA.bin\"",
                "eval": "!contains",
                "severity": "error",
                "flags": {
                  "case": true
                }
              }
            ]
          },
          {
            "command": "dir <!flashMemory!><!version!>",
            "passRule": true,
            "rules": [
              {
                "rule": "No such file or directory",
                "eval": "!contains",
                "severity": "error"
              },
              {
                "rule": "Directory of <!flashMemory!>/<!version!>",
                "eval": "contains",
                "severity": "error"
              }
            ]
          },
          {
            "command": "show running | inc boot",
            "passRule": true,
            "rules": [
              {
                "rule": "<!version!>",
                "eval": "!contains",
                "severity": "error"
              },
              {
                "rule": "boot system <!flashMemory!>",
                "eval": "contains",
                "severity": "error"
              }
            ]
          }
        ],
        "created": 1565028492414,
        "createdBy": "Itential-Artifacts",
        "lastUpdated": 1605108508346,
        "lastUpdatedBy": "admin@pronghorn"
      }
    },
    {
      "type": "mop-analytic-template",
      "data": {
        "tags": [
          {
            "_id": "5d70d07301fe6a14dd2efb70",
            "name": "artifacts",
            "description": "Itential artifacts are containerized use cases that are packaged together. They can be anything like workflows, MOP templates, forms, golden config trees, and more"
          },
          {
            "_id": "5daa19ab9f40323ae6aaaa30",
            "name": "cisco ios upgrade",
            "description": "A tag to be used with the cisco ios upgrade artifact"
          }
        ],
        "name": "Cisco IOS Upgrade",
        "passRule": true,
        "prepostCommands": [
          {
            "preRawCommand": "show running",
            "postRawCommand": "show running",
            "passRule": true,
            "rules": [
              {
                "type": "matches",
                "preRegex": "",
                "postRegex": "",
                "evaluator": "=",
                "severity": "error",
                "preRegexNumberOfLinesMatched": 1661,
                "preRegexFirstMatchGroups": [
                  ""
                ],
                "postRegexNumberOfLinesMatched": 1661,
                "postRegexFirstMatchGroups": [
                  ""
                ],
                "flags": {
                  "case": true,
                  "multiline": true,
                  "global": true
                },
                "ignorePattern": "Last configuration change.+|boot system bootflash.+"
              }
            ],
            "preCommandResHTML": "\r\nBuilding configuration...\r\n\r\nCurrent configuration : 1684 bytes\r\n!\r\n! Last configuration change at 09:45:34 UTC Wed Sep 11 2019 by admin\r\n! NVRAM config last updated at 09:05:57 UTC Wed Sep 11 2019 by admin\r\n!\r\nversion 15.3\r\nservice config\r\nservice timestamps debug datetime msec\r\nservice timestamps log datetime msec\r\nno platform punt-keepalive disable-kernel-core\r\nplatform console virtual\r\n!\r\nhostname IOS_03.10.03.S\r\n!\r\nboot-start-marker\r\nboot system bootflash:csr1000v-universalk9.03.10.02.S.153-3.S2-ext.SPA.bin\r\nboot-end-marker\r\n!\r\n!\r\nvrf definition Mgmt-intf\r\n !\r\n address-family ipv4\r\n exit-address-family\r\n !\r\n address-family ipv6\r\n exit-address-family\r\n!\r\nenable secret 5 $1$khb4$C2lm7hXdqtcY5ESd2sszh1\r\n!\r\naaa new-model\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\naaa session-id common\r\n!\r\n!\r\n!\r\n!\r\n!\r\n\r\n\r\nip domain name itential.com\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\nmultilink bundle-name authenticated\r\n!\r\n!\r\n!\r\nusername admin password 0 admin\r\n!\r\nredundancy\r\n mode none\r\n!\r\n!\r\n!\r\nip tftp source-interface GigabitEthernet0\r\nip ssh authentication-retries 5\r\n!\r\n!\r\n!\r\n!\r\ninterface GigabitEthernet1\r\n ip address 192.168.3.209 255.255.252.0\r\n negotiation auto\r\n!\r\ninterface GigabitEthernet1.100\r\n description description made by Zack\r\n encapsulation dot1Q 100 second-dot1q 10,20\r\n!\r\ninterface GigabitEthernet2\r\n no ip address\r\n shutdown\r\n negotiation auto\r\n!\r\ninterface GigabitEthernet0\r\n vrf forwarding Mgmt-intf\r\n no ip address\r\n shutdown\r\n negotiation auto\r\n!\r\n!\r\nvirtual-service csr_mgmt\r\n activate\r\n!\r\nip forward-protocol nd\r\n!\r\nno ip http server\r\nno ip http secure-server\r\nip route 172.20.100.0 255.255.252.0 192.168.0.1\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\ncontrol-plane\r\n!\r\n!\r\nline con 0\r\n stopbits 1\r\nline aux 0\r\n stopbits 1\r\nline vty 0 4\r\n transport input telnet\r\nline vty 5 9\r\n transport input telnet\r\nline vty 10 19\r\n transport input ssh\r\n!\r\nntp server 172.20.100.10 minpoll 10\r\nonep\r\n!\r\nend\r\n\r\nIOS_03.10.03.S#",
            "postCommandResHTML": "\r\nBuilding configuration...\r\n\r\nCurrent configuration : 1684 bytes\r\n!\r\n! Last configuration change at 09:45:34 UTC Wed Sep 11 2019 by admin\r\n! NVRAM config last updated at 09:05:57 UTC Wed Sep 11 2019 by admin\r\n!\r\nversion 15.3\r\nservice config\r\nservice timestamps debug datetime msec\r\nservice timestamps log datetime msec\r\nno platform punt-keepalive disable-kernel-core\r\nplatform console virtual\r\n!\r\nhostname IOS_03.10.03.S\r\n!\r\nboot-start-marker\r\nboot system bootflash:csr1000v-universalk9.03.10.02.S.153-3.S2-ext.SPA.bin\r\nboot-end-marker\r\n!\r\n!\r\nvrf definition Mgmt-intf\r\n !\r\n address-family ipv4\r\n exit-address-family\r\n !\r\n address-family ipv6\r\n exit-address-family\r\n!\r\nenable secret 5 $1$khb4$C2lm7hXdqtcY5ESd2sszh1\r\n!\r\naaa new-model\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\naaa session-id common\r\n!\r\n!\r\n!\r\n!\r\n!\r\n\r\n\r\nip domain name itential.com\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\nmultilink bundle-name authenticated\r\n!\r\n!\r\n!\r\nusername admin password 0 admin\r\n!\r\nredundancy\r\n mode none\r\n!\r\n!\r\n!\r\nip tftp source-interface GigabitEthernet0\r\nip ssh authentication-retries 5\r\n!\r\n!\r\n!\r\n!\r\ninterface GigabitEthernet1\r\n ip address 192.168.3.209 255.255.252.0\r\n negotiation auto\r\n!\r\ninterface GigabitEthernet1.100\r\n description description made by Zack\r\n encapsulation dot1Q 100 second-dot1q 10,20\r\n!\r\ninterface GigabitEthernet2\r\n no ip address\r\n shutdown\r\n negotiation auto\r\n!\r\ninterface GigabitEthernet0\r\n vrf forwarding Mgmt-intf\r\n no ip address\r\n shutdown\r\n negotiation auto\r\n!\r\n!\r\nvirtual-service csr_mgmt\r\n activate\r\n!\r\nip forward-protocol nd\r\n!\r\nno ip http server\r\nno ip http secure-server\r\nip route 172.20.100.0 255.255.252.0 192.168.0.1\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\ncontrol-plane\r\n!\r\n!\r\nline con 0\r\n stopbits 1\r\nline aux 0\r\n stopbits 1\r\nline vty 0 4\r\n transport input telnet\r\nline vty 5 9\r\n transport input telnet\r\nline vty 10 19\r\n transport input ssh\r\n!\r\nntp server 172.20.100.10 minpoll 10\r\nonep\r\n!\r\nend\r\n\r\nIOS_03.10.03.S#",
            "preCommandValue": "show running",
            "postCommandValue": "show running",
            "preCommandRes": "\r\nBuilding configuration...\r\n\r\nCurrent configuration : 1684 bytes\r\n!\r\n! Last configuration change at 09:45:34 UTC Wed Sep 11 2019 by admin\r\n! NVRAM config last updated at 09:05:57 UTC Wed Sep 11 2019 by admin\r\n!\r\nversion 15.3\r\nservice config\r\nservice timestamps debug datetime msec\r\nservice timestamps log datetime msec\r\nno platform punt-keepalive disable-kernel-core\r\nplatform console virtual\r\n!\r\nhostname IOS_03.10.03.S\r\n!\r\nboot-start-marker\r\nboot system bootflash:csr1000v-universalk9.03.10.02.S.153-3.S2-ext.SPA.bin\r\nboot-end-marker\r\n!\r\n!\r\nvrf definition Mgmt-intf\r\n !\r\n address-family ipv4\r\n exit-address-family\r\n !\r\n address-family ipv6\r\n exit-address-family\r\n!\r\nenable secret 5 $1$khb4$C2lm7hXdqtcY5ESd2sszh1\r\n!\r\naaa new-model\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\naaa session-id common\r\n!\r\n!\r\n!\r\n!\r\n!\r\n\r\n\r\nip domain name itential.com\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\nmultilink bundle-name authenticated\r\n!\r\n!\r\n!\r\nusername admin password 0 admin\r\n!\r\nredundancy\r\n mode none\r\n!\r\n!\r\n!\r\nip tftp source-interface GigabitEthernet0\r\nip ssh authentication-retries 5\r\n!\r\n!\r\n!\r\n!\r\ninterface GigabitEthernet1\r\n ip address 192.168.3.209 255.255.252.0\r\n negotiation auto\r\n!\r\ninterface GigabitEthernet1.100\r\n description description made by Zack\r\n encapsulation dot1Q 100 second-dot1q 10,20\r\n!\r\ninterface GigabitEthernet2\r\n no ip address\r\n shutdown\r\n negotiation auto\r\n!\r\ninterface GigabitEthernet0\r\n vrf forwarding Mgmt-intf\r\n no ip address\r\n shutdown\r\n negotiation auto\r\n!\r\n!\r\nvirtual-service csr_mgmt\r\n activate\r\n!\r\nip forward-protocol nd\r\n!\r\nno ip http server\r\nno ip http secure-server\r\nip route 172.20.100.0 255.255.252.0 192.168.0.1\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\ncontrol-plane\r\n!\r\n!\r\nline con 0\r\n stopbits 1\r\nline aux 0\r\n stopbits 1\r\nline vty 0 4\r\n transport input telnet\r\nline vty 5 9\r\n transport input telnet\r\nline vty 10 19\r\n transport input ssh\r\n!\r\nntp server 172.20.100.10 minpoll 10\r\nonep\r\n!\r\nend\r\n\r\nIOS_03.10.03.S#",
            "postCommandRes": "\r\nBuilding configuration...\r\n\r\nCurrent configuration : 1684 bytes\r\n!\r\n! Last configuration change at 09:45:34 UTC Wed Sep 11 2019 by admin\r\n! NVRAM config last updated at 09:05:57 UTC Wed Sep 11 2019 by admin\r\n!\r\nversion 15.3\r\nservice config\r\nservice timestamps debug datetime msec\r\nservice timestamps log datetime msec\r\nno platform punt-keepalive disable-kernel-core\r\nplatform console virtual\r\n!\r\nhostname IOS_03.10.03.S\r\n!\r\nboot-start-marker\r\nboot system bootflash:csr1000v-universalk9.03.10.02.S.153-3.S2-ext.SPA.bin\r\nboot-end-marker\r\n!\r\n!\r\nvrf definition Mgmt-intf\r\n !\r\n address-family ipv4\r\n exit-address-family\r\n !\r\n address-family ipv6\r\n exit-address-family\r\n!\r\nenable secret 5 $1$khb4$C2lm7hXdqtcY5ESd2sszh1\r\n!\r\naaa new-model\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\naaa session-id common\r\n!\r\n!\r\n!\r\n!\r\n!\r\n\r\n\r\nip domain name itential.com\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\nmultilink bundle-name authenticated\r\n!\r\n!\r\n!\r\nusername admin password 0 admin\r\n!\r\nredundancy\r\n mode none\r\n!\r\n!\r\n!\r\nip tftp source-interface GigabitEthernet0\r\nip ssh authentication-retries 5\r\n!\r\n!\r\n!\r\n!\r\ninterface GigabitEthernet1\r\n ip address 192.168.3.209 255.255.252.0\r\n negotiation auto\r\n!\r\ninterface GigabitEthernet1.100\r\n description description made by Zack\r\n encapsulation dot1Q 100 second-dot1q 10,20\r\n!\r\ninterface GigabitEthernet2\r\n no ip address\r\n shutdown\r\n negotiation auto\r\n!\r\ninterface GigabitEthernet0\r\n vrf forwarding Mgmt-intf\r\n no ip address\r\n shutdown\r\n negotiation auto\r\n!\r\n!\r\nvirtual-service csr_mgmt\r\n activate\r\n!\r\nip forward-protocol nd\r\n!\r\nno ip http server\r\nno ip http secure-server\r\nip route 172.20.100.0 255.255.252.0 192.168.0.1\r\n!\r\n!\r\n!\r\n!\r\n!\r\n!\r\ncontrol-plane\r\n!\r\n!\r\nline con 0\r\n stopbits 1\r\nline aux 0\r\n stopbits 1\r\nline vty 0 4\r\n transport input telnet\r\nline vty 5 9\r\n transport input telnet\r\nline vty 10 19\r\n transport input ssh\r\n!\r\nntp server 172.20.100.10 minpoll 10\r\nonep\r\n!\r\nend\r\n\r\nIOS_03.10.03.S#"
          },
          {
            "preRawCommand": "show ip int br",
            "postRawCommand": "show ip int br",
            "passRule": true,
            "rules": [
              {
                "type": "matches",
                "preRegex": "",
                "postRegex": "",
                "evaluator": "=",
                "severity": "error"
              }
            ],
            "preCommandResHTML": "Test a command or the template to get results here",
            "postCommandResHTML": "Test a command or the template to get results here",
            "preCommandValue": "show ip int br",
            "postCommandValue": "show ip int br",
            "preCommandRes": "Interface              IP-Address      OK? Method Status                Protocol\nGigabitEthernet1       192.168.3.208   YES NVRAM  up                    up      \nGigabitEthernet2       unassigned      YES NVRAM  administratively down down    \nGigabitEthernet0       unassigned      YES NVRAM  administratively down down",
            "postCommandRes": "Interface              IP-Address      OK? Method Status                Protocol\nGigabitEthernet1       192.168.3.208   YES NVRAM  up                    up      \nGigabitEthernet2       unassigned      YES NVRAM  administratively down down    \nGigabitEthernet0       unassigned      YES NVRAM  administratively down down"
          }
        ],
        "created": 1551278932051,
        "createdBy": "Itential Artifacts",
        "lastUpdated": 1581310641927,
        "lastUpdatedBy": "Itential Artifacts"
      }
    },
    {
      "type": "transformation",
      "data": {
        "_id": "5f5efabcdc87324798b9fbf0",
        "name": "iosUpgradeFormData",
        "description": "",
        "incoming": [
          {
            "$id": "formData",
            "title": "IAP Artifacts IOS Upgrade Form",
            "description": "A form to be used in conjunction with Itential's \"Cisco IOS Device Upgrade\" Artifacts ",
            "type": "object",
            "required": [
              "mode",
              "iosDeviceHostname"
            ],
            "properties": {
              "mode": {
                "type": "string",
                "title": "Mode",
                "description": "",
                "enum": [
                  "Zero Touch",
                  "Normal",
                  "Verbose"
                ]
              },
              "iosDeviceHostname": {
                "type": "string",
                "title": "IOS Device Hostname",
                "description": ""
              },
              "flashMemory": {
                "type": "string",
                "title": "Flash Memory",
                "description": ""
              },
              "release": {
                "type": "string",
                "title": "Release",
                "description": "",
                "enum": [
                  "csr1000v-universalk9.03.10.03.S.153-3.S3-ext.SPA.bin",
                  "csr1000v-universalk9.03.10.02.S.153-3.S2-ext.SPA.bin"
                ]
              },
              "healthcheckVariables": {
                "type": "object",
                "title": "Healthcheck Variables",
                "description": "",
                "required": [],
                "properties": {
                  "numberOfRetries": {
                    "type": "number",
                    "title": "Number of retries",
                    "description": "Number of times to retry the healthcheck before concluding a failure"
                  },
                  "numberOfRetriesStability": {
                    "type": "number",
                    "title": "Number of retries stability",
                    "description": "Number of consecutive successful pings required to conclude that device is stable. This feature will detect unstable interfaces. "
                  },
                  "secondsBetweenRetry": {
                    "type": "number",
                    "title": "Seconds between retry",
                    "description": "Number of seconds to wait in between each failed ping"
                  }
                }
              }
            }
          }
        ],
        "outgoing": [
          {
            "$id": "mode",
            "type": "string"
          },
          {
            "$id": "deviceString",
            "type": "string"
          },
          {
            "$id": "fileName",
            "type": "string"
          },
          {
            "$id": "numberOfRetries",
            "type": "string"
          },
          {
            "$id": "numberOfRetriesStability",
            "type": "string"
          },
          {
            "$id": "secondsBetweenRetry",
            "type": "string"
          },
          {
            "$id": "flashMemory",
            "type": "string",
            "title": "Flash Memory",
            "description": ""
          }
        ],
        "steps": [
          {
            "id": 4,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData",
              "ptr": "/mode"
            },
            "to": {
              "location": "outgoing",
              "name": "mode",
              "ptr": ""
            }
          },
          {
            "id": 5,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData",
              "ptr": "/iosDeviceHostname"
            },
            "to": {
              "location": "outgoing",
              "name": "deviceString",
              "ptr": ""
            }
          },
          {
            "id": 6,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData",
              "ptr": "/release"
            },
            "to": {
              "location": "outgoing",
              "name": "fileName",
              "ptr": ""
            }
          },
          {
            "id": 7,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData",
              "ptr": "/healthcheckVariables/numberOfRetries"
            },
            "to": {
              "location": "method",
              "name": 3,
              "ptr": "/args/0/value"
            }
          },
          {
            "id": 9,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData",
              "ptr": "/healthcheckVariables/numberOfRetriesStability"
            },
            "to": {
              "location": "method",
              "name": 2,
              "ptr": "/args/0/value"
            }
          },
          {
            "id": 11,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData",
              "ptr": "/healthcheckVariables/secondsBetweenRetry"
            },
            "to": {
              "location": "method",
              "name": 1,
              "ptr": "/args/0/value"
            }
          },
          {
            "id": 1,
            "type": "method",
            "library": "Number",
            "method": "toString",
            "args": [
              null,
              null
            ],
            "view": {
              "row": 3,
              "col": 1
            }
          },
          {
            "id": 2,
            "type": "method",
            "library": "Number",
            "method": "toString",
            "args": [
              null,
              null
            ],
            "view": {
              "row": 2,
              "col": 1
            }
          },
          {
            "id": 3,
            "type": "method",
            "library": "Number",
            "method": "toString",
            "args": [
              null,
              null
            ],
            "view": {
              "row": 1,
              "col": 1
            }
          },
          {
            "id": 8,
            "type": "assign",
            "from": {
              "location": "method",
              "name": 3,
              "ptr": "/return"
            },
            "to": {
              "location": "outgoing",
              "name": "numberOfRetries",
              "ptr": ""
            }
          },
          {
            "id": 10,
            "type": "assign",
            "from": {
              "location": "method",
              "name": 2,
              "ptr": "/return"
            },
            "to": {
              "location": "outgoing",
              "name": "numberOfRetriesStability",
              "ptr": ""
            }
          },
          {
            "id": 12,
            "type": "assign",
            "from": {
              "location": "method",
              "name": 1,
              "ptr": "/return"
            },
            "to": {
              "location": "outgoing",
              "name": "secondsBetweenRetry",
              "ptr": ""
            }
          },
          {
            "id": 13,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData",
              "ptr": "/flashMemory"
            },
            "to": {
              "location": "outgoing",
              "name": "flashMemory",
              "ptr": ""
            }
          }
        ],
        "functions": [],
        "view": {
          "col": 2,
          "row": 4
        },
        "created": "2020-11-04T19:23:13.667Z",
        "createdBy": {
          "_id": "5fa1a84f86171e3df42645e1",
          "provenance": "Local AAA",
          "username": "admin@pronghorn"
        },
        "lastUpdated": "2020-11-06T16:54:20.754Z",
        "lastUpdatedBy": {
          "_id": "5fa1a84f86171e3df42645e1",
          "provenance": "Local AAA",
          "username": "admin@pronghorn"
        }
      }
    },
    {
      "type": "transformation",
      "data": {
        "name": "incrementNumber",
        "incoming": [
          {
            "$id": "tally",
            "type": "number",
            "examples": [
              3
            ]
          }
        ],
        "outgoing": [
          {
            "$id": "tally",
            "type": "number",
            "examples": [
              5
            ]
          }
        ],
        "steps": [
          {
            "id": 2,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "tally",
              "ptr": ""
            },
            "to": {
              "location": "method",
              "name": 1,
              "ptr": "/args/0/value"
            }
          },
          {
            "id": 1,
            "type": "method",
            "library": "Math",
            "method": "add",
            "args": [
              null,
              1
            ],
            "view": {
              "row": 1,
              "col": 1
            }
          },
          {
            "id": 3,
            "type": "assign",
            "from": {
              "location": "method",
              "name": 1,
              "ptr": "/return"
            },
            "to": {
              "location": "outgoing",
              "name": "tally",
              "ptr": ""
            }
          }
        ],
        "functions": [],
        "view": {
          "col": 1,
          "row": 4
        },
        "_id": "601d649812e46526a828dced",
        "description": "",
        "comments": [],
        "version": "3.13.0"
      }
    }
  ],
  "readme": "## _Deprecation Notice_\nThis Pre-Built has been deprecated as of 07-12-2024 and will be end of life on 07-12-2025. The capabilities of this Pre-Built have been replaced by [Cisco - IOS - IAG](https://gitlab.com/itentialopensource/pre-built-automations/cisco-ios-iag).\n\n## Table of Contents\n  - [Overview](#overview)\n  - [Features](#features)\n  - [Installation Prerequisites](#installation-prerequisites)\n  - [How to Install](#how-to-install)\n  - [Supported Device Types](#supported-device-types)\n  - [How to Run](#how-to-run)\n  - [Additional Information](#additional-information)\n\n\n## Overview\nThis pre-built contains the Cisco IOS device upgrade workflow for NSO and Ansible using IAP.\nThe workflow requires that a newer binary version file is already downloaded locally on the destination device (bootflash:), and file integrity has been verified (using md5).\nTo satisfy these pre-requirements, use the free [**file-transfer**](https://gitlab.com/itentialopensource/pre-built-automations/file-transfer) pre-built available from Itential.\n\nThis solution consist of the following:\n\n* Main Workflow (**IAP-Artifacts IOS Device Upgrade**)\n  * Perform device environmental checks. Verifies a device is on a different version than the requested one. \n  * Perform pre-checks to confirm device readiness.\n  * Backup the running-config locally on flash drive.\n  * Perform boot statement configuration to direct the router to load the newer version upon the next boot.\n  * Issue the reload command.\n  * Wait for device to become available after reboot.\n  * Confirm reliable connectivity (ping consistency).\n  * Perform post-checks to verify the device functionality running the new version.\n  * Show a Pre-Post Checks diff report.\n  * Perform MOP analysis to verify no unexpected config changes occurred.\n  * Show a MOP analysis report.\n  * Perform rollback, if requested.\n\n* Command Templates\n  * Will run the pre / post commands and evaluate them against set thresholds.\n\n* Analytic Templates\n  * Will run the pre vs. post comparisons and evaluate them against set thresholds.\n\n* Automation Catalog Entry with a JSON-Form:\n  * Mode selection: Zero-Touch, Normal, or Verbose\n  * Allows user to pick destination device to run the upgrade on.\n  * Allows user to pick software version to upgrade to (file names are hard coded in JSON form).\n  * Ping-consistency variables \n\n## Features\n  * Automatically find device orchestrator Ansible or NSO.\n  * Perform readiness checks prior to any change, and functionality verifications after changes have been applied.\n  * Allow for a rollback in case functionality checks have failed.\n  * Show a conclusive report with the Pre vs. Post config diff.\n\n## Installation Prerequisites\n\nUsers must satisfy the following prerequisites:\n\n<!-- Include any other required apps or adapters in this list -->\n<!-- Ex.: EC2 Adapter -->\n* Itential Automation Platform\n  * `^2023.1`\n\n## How to Install\n\nTo install the pre-build:\n\n* Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the [Prerequisites](#installation-prerequisites) section. \n* The pre-build can be installed from within `App-Admin_Essential`. Simply search for the name of your desired pre-build and click the install button.\n\n## Supported Device Types\n  * Cisco IOS\n\n\n## How to Run\nStarting an IOS device upgrade can be invoked via Automation-Catalog. Navigate to the Automation-Catalog app and press run on the IAP Artifacts IOS Device Upgrade entry.\n\n\n\n## Additional Information\nPlease use your Itential Customer Success Account if you need support when using this pre-built.\n"
}