{
  "name": "Device-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": "6037fc47058d4a65713f3868",
          "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": "6037fc47058d4a65713f3868",
          "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.device"
        },
        "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.pingDelay"
        },
        "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, pingDelay",
      "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": "pingDelay",
                    "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.7599699021820918,
      "y": 0.24753694581280788
    },
    "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": {
      "18d6": {
        "type": "revert",
        "state": "success"
      },
      "2e93": {
        "type": "standard",
        "state": "error"
      }
    },
    "52d9": {
      "2e93": {
        "type": "standard",
        "state": "success"
      }
    },
    "c17b": {},
    "77df": {},
    "471d": {
      "6ca1": {
        "type": "standard",
        "state": "success"
      }
    },
    "8aa1": {
      "f195": {
        "type": "standard",
        "state": "success"
      }
    }
  },
  "font_size": 12,
  "created": "2019-08-15T21:09:06.430Z",
  "created_by": {
    "provenance": "Local AAA",
    "username": "Itential Artifacts",
    "firstname": "admin",
    "inactive": true,
    "email": ""
  },
  "createdVersion": "5.10.4-2020.1.45.0",
  "last_updated": "2021-10-14T17:31:20.086Z",
  "last_updated_by": {
    "provenance": "Itential-Okta",
    "username": "zack.strulovitch@itential.com",
    "firstname": "Zack",
    "inactive": false
  },
  "lastUpdatedVersion": "5.40.5-2021.1.52.0",
  "type": "automation",
  "description": null,
  "inputSchema": {
    "type": "object",
    "properties": {
      "device": {
        "type": [
          "array",
          "boolean",
          "null",
          "number",
          "object",
          "string"
        ]
      },
      "pingDelay": {
        "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": [
      "device",
      "pingDelay",
      "numberOfRetries",
      "numberOfRetriesStability",
      "_id"
    ]
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "device": {
        "type": [
          "array",
          "boolean",
          "null",
          "number",
          "object",
          "string"
        ]
      },
      "pingDelay": {
        "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"
        ]
      }
    }
  },
  "tags": [],
  "groups": []
}