diff --git a/FortiManager/Projects/fortimanager.project.json b/FortiManager/Projects/fortimanager.project.json new file mode 100644 index 0000000..e3a8a7b --- /dev/null +++ b/FortiManager/Projects/fortimanager.project.json @@ -0,0 +1,12590 @@ +{ + "_id": "680a671a3e055752b7abb534", + "name": "FortiManager", + "description": "", + "components": [ + { + "iid": 50, + "reference": "45d51b9b-b7a2-4c5b-a0a0-3c5c81467ec8", + "type": "workflow", + "folder": "/Delete Objects", + "document": { + "name": "Delete Firewall Policy", + "tasks": { + "6878": { + "name": "merge", + "canvasName": "merge", + "summary": "Delete Firewall Payload", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "policyPackageName", + "value": { + "task": "job", + "variable": "policyPackageName" + } + }, + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + }, + { + "key": "id", + "value": { + "task": "4e49", + "variable": "return_data" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -492 + } + }, + "8640": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Perform a JSON Transformation using the JST library.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Delete Firewall Policy completed." + }, + "options": { + "extractOutput": false, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -1188 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -1284 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -180 + } + }, + "92ed": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Send Delete Request", + "description": "Send Delete Request to FortiManager Jsonrpc", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.601b.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -300 + } + }, + "601b": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Delete Request Body", + "description": "This task takes an input and converts it to a different data type. For example, converting a number into a string.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"delete\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\",\n \"confirm\": 1,\n \"filter\": [\n \"policyid\",\n \"in\",\n \n ]\n }\n ]\n}", + "outputType": "json", + "variables": "$var.6878.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -396 + } + }, + "4d1e": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "Failed Reason", + "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": "reason", + "value": "Cannot complete delete request." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -300 + } + }, + "50cc": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Perform a JSON Transformation using the JST library.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": false, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -180 + } + }, + "c5b1": { + "name": "merge", + "canvasName": "merge", + "summary": "Get Firewall ID Payload", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "policyPackageName", + "value": { + "task": "job", + "variable": "policyPackageName" + } + }, + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + }, + { + "key": "firewallName", + "value": { + "task": "job", + "variable": "firewallName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -1092 + } + }, + "c9ae": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create Payload - \"Get FW Policy List\" ", + "description": "Create Payload - \"Get FW Policy List\" ", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"get\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\"\n }\n ]\n}", + "outputType": "json", + "variables": "$var.c5b1.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -996 + } + }, + "0528": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Get Firewall Policy List", + "description": "This is a generic json rpc api request", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.c9ae.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -900 + } + }, + "4e49": { + "name": "query", + "canvasName": "query", + "summary": "Query FW ID", + "description": "Query FW ID", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "$var.30ef.output", + "obj": "$var.0528.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -708 + } + }, + "30ef": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Prep Query", + "description": "Prepare the query so that ID can be extracted", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "response.result[0].data[name=].policyid", + "outputType": "string", + "variables": "$var.c5b1.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -804 + } + }, + "8fe5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "Failed Reason", + "description": "Cannot get the FW Id", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Cannot get the FW Id" + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -612 + } + }, + "f08d": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "Failed Reason", + "description": "Cannot list all FWs", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Cannot list all FWs" + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -900 + } + }, + "48ff": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is ID Null?", + "description": "Is ID Null?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "4e49", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": ">", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -612 + } + } + }, + "transitions": { + "6878": { + "601b": { + "state": "success", + "type": "standard" + } + }, + "8640": { + "c5b1": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "8640": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "92ed": { + "workflow_end": { + "state": "success", + "type": "standard" + }, + "4d1e": { + "type": "standard", + "state": "error" + } + }, + "601b": { + "92ed": { + "state": "success", + "type": "standard" + } + }, + "4d1e": { + "50cc": { + "state": "success", + "type": "standard" + } + }, + "50cc": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "c5b1": { + "c9ae": { + "state": "success", + "type": "standard" + } + }, + "c9ae": { + "0528": { + "state": "success", + "type": "standard" + } + }, + "0528": { + "30ef": { + "state": "success", + "type": "standard" + }, + "f08d": { + "type": "standard", + "state": "error" + } + }, + "4e49": { + "48ff": { + "state": "success", + "type": "standard" + } + }, + "30ef": { + "4e49": { + "state": "success", + "type": "standard" + } + }, + "8fe5": { + "50cc": { + "state": "success", + "type": "standard" + } + }, + "f08d": { + "50cc": { + "state": "success", + "type": "standard" + } + }, + "48ff": { + "6878": { + "state": "success", + "type": "standard" + }, + "8fe5": { + "state": "failure", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "firewallName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "policyPackageName", + "adomName", + "firewallName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "firewallName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.513Z", + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "lastUpdatedVersion": "5.55.2-2023.2.21", + "created": "2025-06-05T21:04:01.032Z", + "created_by": { + "provenance": "local_aaa", + "username": "admin@pronghorn", + "firstname": "admin", + "inactive": true + }, + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", + "uuid": "242663ea-73ae-4f86-acde-de98428b9df5", + "tags": [], + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 52, + "reference": "349f1706-3654-4a4a-84d9-f0c9f155890a", + "type": "workflow", + "folder": "/Delete Objects", + "document": { + "name": "Delete Policy Package", + "tasks": { + "6878": { + "name": "merge", + "canvasName": "merge", + "summary": "Delete Policy Package Payload", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "policyPackageName", + "value": { + "task": "job", + "variable": "policyPackageName" + } + }, + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -480 + } + }, + "8640": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Perform a JSON Transformation using the JST library.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Delete Policy Package completed." + }, + "options": { + "extractOutput": false, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -588 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -696 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 96 + } + }, + "92ed": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Send Delete Request", + "description": "Send Delete Request to FortiManager Jsonrpc", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.601b.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -288 + } + }, + "601b": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Delete Request Body", + "description": "This task takes an input and converts it to a different data type. For example, converting a number into a string.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"delete\",\n \"params\": [\n {\n \"url\": \"pm/pkg/adom//\"\n }\n ]\n}", + "outputType": "json", + "variables": "$var.6878.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -384 + } + }, + "4d1e": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "Failed Reason", + "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": "reason", + "value": "Cannot complete delete request." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -288 + } + }, + "50cc": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Perform a JSON Transformation using the JST library.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": false, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": 96 + } + }, + "deda": { + "name": "query", + "canvasName": "query", + "summary": "Get request's response ", + "description": "Get request's response ", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].status.code", + "obj": "$var.92ed.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -192 + } + }, + "d39e": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is delete success?", + "description": "Is delete success?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "deda", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": "==", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -84 + } + }, + "7d9e": { + "name": "stub", + "canvasName": "stub", + "summary": "Success Path", + "description": "Success Path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.8640.success" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 24 + } + }, + "592b": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "Failed Reason", + "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": "reason", + "value": "Cannot complete delete request." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -84 + } + } + }, + "transitions": { + "6878": { + "601b": { + "state": "success", + "type": "standard" + } + }, + "8640": { + "6878": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "8640": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "92ed": { + "4d1e": { + "type": "standard", + "state": "error" + }, + "deda": { + "state": "success", + "type": "standard" + } + }, + "601b": { + "92ed": { + "state": "success", + "type": "standard" + } + }, + "4d1e": { + "50cc": { + "state": "success", + "type": "standard" + } + }, + "50cc": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "deda": { + "d39e": { + "state": "success", + "type": "standard" + } + }, + "d39e": { + "7d9e": { + "state": "success", + "type": "standard" + }, + "592b": { + "state": "failure", + "type": "standard" + } + }, + "7d9e": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "592b": { + "50cc": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "policyPackageName", + "adomName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.514Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "created_by": { + "provenance": "okta", + "username": "loan.huynh@itential.com", + "firstname": "Loan", + "inactive": true, + "sso": true, + "nameID": "loan.huynh@itential.com" + }, + "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", + "uuid": "cd790453-89c0-4eb1-a79f-fe476e4e718b", + "tags": [], + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 53, + "reference": "e3bd8e64-492c-4bb2-9566-969cb2018a26", + "type": "workflow", + "folder": "/Delete Objects", + "document": { + "name": "Delete Adom", + "tasks": { + "5169": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Run Evaluation Task", + "description": "Run an evaluation", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "c00a", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": "==", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -102 + } + }, + "6878": { + "name": "merge", + "canvasName": "merge", + "summary": "Delete Adom Payload", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -480 + } + }, + "8640": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Perform a JSON Transformation using the JST library.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Delete Adom completed." + }, + "options": { + "extractOutput": false, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -588 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -696 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 96 + } + }, + "92ed": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Send Delete Request", + "description": "Send Delete Request to FortiManager Jsonrpc", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.601b.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -288 + } + }, + "601b": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Delete Request Body", + "description": "This task takes an input and converts it to a different data type. For example, converting a number into a string.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"delete\",\n \"params\": [\n {\n \"url\": \"dvmdb/adom/\"\n }\n ]\n}", + "outputType": "json", + "variables": "$var.6878.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -384 + } + }, + "4d1e": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "Failed Reason", + "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": "reason", + "value": "Cannot complete delete request." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -288 + } + }, + "50cc": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Perform a JSON Transformation using the JST library.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": false, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": 96 + } + }, + "c00a": { + "name": "query", + "canvasName": "query", + "summary": "Get request's response ", + "description": "Get request's response ", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].status.code", + "obj": "$var.92ed.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -192 + } + }, + "ae24": { + "name": "stub", + "canvasName": "stub", + "summary": "Success Path", + "description": "Success Path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.8640.success" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -3 + } + }, + "227b": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "Failed Reason", + "description": "Cannot complete delete request.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Cannot complete delete request." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -96 + } + } + }, + "transitions": { + "5169": { + "ae24": { + "state": "success", + "type": "standard" + }, + "227b": { + "state": "failure", + "type": "standard" + } + }, + "6878": { + "601b": { + "state": "success", + "type": "standard" + } + }, + "8640": { + "6878": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "8640": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "92ed": { + "4d1e": { + "type": "standard", + "state": "error" + }, + "c00a": { + "state": "success", + "type": "standard" + } + }, + "601b": { + "92ed": { + "state": "success", + "type": "standard" + } + }, + "4d1e": { + "50cc": { + "state": "success", + "type": "standard" + } + }, + "50cc": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "c00a": { + "5169": { + "state": "success", + "type": "standard" + } + }, + "ae24": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "227b": { + "50cc": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.515Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "created_by": { + "provenance": "okta", + "username": "loan.huynh@itential.com", + "firstname": "Loan", + "inactive": true, + "sso": true, + "nameID": "loan.huynh@itential.com" + }, + "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", + "uuid": "4868de17-8156-4556-8513-3f0aa1c11fd1", + "tags": [], + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 55, + "reference": "1cbc8be8-38d2-4284-a5e2-d96570ba0aa8", + "type": "workflow", + "folder": "/Update Objects", + "document": { + "name": "Update Firewall Policy", + "tasks": { + "1351": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed to get Firewall Policy list.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to get Firewall Policy list." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -348, + "y": -516 + } + }, + "2110": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs to get firewall policy list", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + }, + { + "key": "policyPackageName", + "value": { + "task": "job", + "variable": "policyPackageName" + } + }, + { + "key": "policyName", + "value": { + "task": "job", + "variable": "policyName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -708 + } + }, + "4981": { + "name": "stub", + "canvasName": "stub", + "summary": "Success path", + "description": "Success path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.c8d5.success" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 372 + } + }, + "8372": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Make query to get the firewall policy ID", + "description": "Make query to get the firewall policy ID", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "response.result[0].data[name=].policyid", + "outputType": "string", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -420 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -996 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 468 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\n1. Get the list of firewall policies in the chosen policy package of a chosen ADOM\n - GET \"url\": \"/pm/config/adom//pkg//firewall/policy\"\n\n2. Get the firewall policy id we want by compare the returned list with the name were given.\n\n3. Update the firewall policy with given comment.\n -UPDATE \"url\": \"/pm/config/adom//pkg//firewall/policy/\",\n\"data\": {\n \"comments\": \"\"\n\n4. Check the status of the request.\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_rule\",\n \"comment\": \"new comment\"\n}\n```\n\n\n", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -900 + } + }, + "c8d5": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Update firewall policy with new comment completed.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Update firewall policy with new comment completed." + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -804 + } + }, + "9a50": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Failure path", + "description": "Failure path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -348, + "y": 468 + } + }, + "4a48": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed to update the firewall policy with comment.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to update the firewall policy with comment." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -348, + "y": 300 + } + }, + "c0e5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed to get Firewall Policy ID.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to get Firewall Policy ID." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -348, + "y": -216 + } + }, + "42cd": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Get the firewall policy list", + "description": "Request to get the firewall policy list.", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.4a97.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -516 + } + }, + "a8b0": { + "name": "query", + "canvasName": "query", + "summary": "Get the firewall policy ID", + "description": "Get the firewall policy ID by using the prepared query.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "$var.8372.output", + "obj": "$var.42cd.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -324 + } + }, + "4a97": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload to get the firewall policy list", + "description": "Create payload to get the firewall policy list", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"get\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\",\n \"fields\": [\n\n ]\n }\n ]\n}", + "outputType": "json", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -612 + } + }, + "39d0": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload to update the firewall policy comment", + "description": "Create payload to update the firewall policy comment", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy/\",\n\"data\": {\n \"comments\": \"\"\n }\n }\n ]\n}", + "outputType": "json", + "variables": "$var.7e71.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -12 + } + }, + "cc40": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Update firewall policy with comment", + "description": "Update firewall policy with comment request", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.39d0.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 96 + } + }, + "7e71": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs for updating the comment", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + }, + { + "key": "policyPackageName", + "value": { + "task": "job", + "variable": "policyPackageName" + } + }, + { + "key": "policyName", + "value": { + "task": "job", + "variable": "policyName" + } + }, + { + "key": "comment", + "value": { + "task": "job", + "variable": "comment" + } + }, + { + "key": "fwID", + "value": { + "task": "a8b0", + "variable": "return_data" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -120 + } + }, + "5dfd": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is the firewall ID NULL?", + "description": "Is the firewall ID NULL?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "a8b0", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": ">", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -222 + } + }, + "5d8b": { + "name": "query", + "canvasName": "query", + "summary": "Get request's response ", + "description": "Get request's response ", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].status.code", + "obj": "$var.cc40.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 192 + } + }, + "f738": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is updating comment of the firewall policy successful?", + "description": "Is updating comment of the firewall policy successful?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "5d8b", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": "==", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 288 + } + } + }, + "transitions": { + "1351": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "2110": { + "4a97": { + "state": "success", + "type": "standard" + } + }, + "4981": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "8372": { + "a8b0": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "c8d5": { + "2110": { + "state": "success", + "type": "standard" + } + }, + "9a50": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "4a48": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "c0e5": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "42cd": { + "1351": { + "state": "error", + "type": "standard" + }, + "8372": { + "state": "success", + "type": "standard" + } + }, + "a8b0": { + "5dfd": { + "state": "success", + "type": "standard" + } + }, + "4a97": { + "42cd": { + "state": "success", + "type": "standard" + } + }, + "39d0": { + "cc40": { + "state": "success", + "type": "standard" + } + }, + "cc40": { + "4a48": { + "type": "standard", + "state": "error" + }, + "5d8b": { + "state": "success", + "type": "standard" + } + }, + "7e71": { + "39d0": { + "state": "success", + "type": "standard" + } + }, + "5dfd": { + "7e71": { + "state": "success", + "type": "standard" + }, + "c0e5": { + "state": "failure", + "type": "standard" + } + }, + "5d8b": { + "f738": { + "state": "success", + "type": "standard" + } + }, + "f738": { + "4981": { + "state": "success", + "type": "standard" + }, + "4a48": { + "state": "failure", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "comment": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName", + "policyPackageName", + "policyName", + "comment" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "comment": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.515Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "created_by": { + "provenance": "okta", + "username": "loan.huynh@itential.com", + "firstname": "Loan", + "inactive": true, + "sso": true, + "nameID": "loan.huynh@itential.com" + }, + "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", + "uuid": "107e12aa-91ae-4275-b356-b955524c4501", + "tags": [], + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 57, + "reference": "24a59648-08ca-43be-9080-681d25d1cf83", + "type": "workflow", + "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "document": { + "name": "Create Adom", + "tasks": { + "9955": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Create Adom", + "description": "This is a generic json rpc api request", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.f207.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 204 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -252 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 564 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\nCreate an adom. User will provide the adom name.\n\n\nSample payload:\n```\n{\n \"adomName\": \"lhTest_adom1_frIAP\"\n}\n```\n\nInput variables: \n1. adomName - adom name\n\n\n", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -156 + } + }, + "c8d5": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Create ADOM completed.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Create ADOM completed." + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -72 + } + }, + "9a50": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Failure path - Standard Output", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": 564 + } + }, + "4a48": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "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": "reason", + "value": "Failed to prepare create adom policy payload." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": 108 + } + }, + "c0e5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "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": "reason", + "value": "Failed to create firewall policy." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": 204 + } + }, + "f207": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create Payload - \"Create Adom\" ", + "description": "This task takes an input and converts it to a different data type. For example, converting a number into a string.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"add\",\n \"params\": [\n {\n \"data\": [\n {\n \"name\": \"\"\n }\n ],\n \"url\": \"/dvmdb/adom\"\n }\n ]\n}", + "outputType": "json", + "variables": "$var.eaf5.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 108 + } + }, + "eaf5": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 12 + } + }, + "61c6": { + "name": "query", + "canvasName": "query", + "summary": "Query request's response", + "description": "Query request's response", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].status.code", + "obj": "$var.9955.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 288 + } + }, + "f400": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is the request success?", + "description": "Is the request success?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "61c6", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": "==", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 372 + } + }, + "08ee": { + "name": "stub", + "canvasName": "stub", + "summary": "Success Path", + "description": "Success Path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.c8d5.reason" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 468 + } + }, + "565a": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "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": "reason", + "value": "Failed to create firewall policy." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": 372 + } + } + }, + "transitions": { + "9955": { + "c0e5": { + "type": "standard", + "state": "error" + }, + "61c6": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "c8d5": { + "eaf5": { + "state": "success", + "type": "standard" + } + }, + "9a50": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "4a48": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "c0e5": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "f207": { + "9955": { + "state": "success", + "type": "standard" + }, + "4a48": { + "state": "error", + "type": "standard" + } + }, + "eaf5": { + "f207": { + "state": "success", + "type": "standard" + } + }, + "61c6": { + "f400": { + "state": "success", + "type": "standard" + } + }, + "f400": { + "08ee": { + "state": "success", + "type": "standard" + }, + "565a": { + "state": "failure", + "type": "standard" + } + }, + "08ee": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "565a": { + "9a50": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.516Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "created_by": { + "provenance": "okta", + "username": "loan.huynh@itential.com", + "firstname": "Loan", + "inactive": true, + "sso": true, + "nameID": "loan.huynh@itential.com" + }, + "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", + "uuid": "4fd06bae-16ce-4193-83d3-5f5c5e1b1bc1", + "tags": [], + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 58, + "reference": "758fb94e-c220-4439-8145-b309d7fb6afa", + "type": "workflow", + "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "document": { + "name": "Create Policy Package", + "tasks": { + "9955": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Create Policy Package", + "description": "Create Policy Package", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.f207.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": null + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 204 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -252 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 552 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "Create a policy package (i.e,. container for policies). User will provide the adom name to which this package should be added and the policy package name.\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policyPackage1_frIAP\"\n}\n```\n\nInput variables: \n1. adomName - adom name (e.g., root)\n2. policyPackageName/packid - policy package name/id (e.g., lhTest_policy-package)\n\n\n", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -156 + } + }, + "c8d5": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Create Policy Package completed." + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -72 + } + }, + "9a50": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Failure path", + "description": "Failure path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -312, + "y": 552 + } + }, + "4a48": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed to prepare policy package create payload.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to prepare policy package create payload." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -312, + "y": 108 + } + }, + "c0e5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed to create policy package.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to create policy package." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -312, + "y": 204 + } + }, + "f207": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create Payload - \"Create Policy Package\"", + "description": "Create Payload - \"Create Policy Package\"", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/\",\n \"data\": [\n {\n \"name\": \"\",\n \"type\": \"pkg\"\n }\n ]\n }\n ]\n}", + "outputType": "json", + "variables": "$var.eaf5.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 108 + } + }, + "eaf5": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + }, + { + "key": "policyPackageName", + "value": { + "task": "job", + "variable": "policyPackageName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 12 + } + }, + "7b27": { + "name": "query", + "canvasName": "query", + "summary": "Query request's response", + "description": "Query request's response", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].status.code", + "obj": "$var.9955.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 288 + } + }, + "2ca5": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is the request success?", + "description": "Is the request success?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "7b27", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": "==", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 372 + } + }, + "8edf": { + "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": "$var.c8d5.reason" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 462 + } + }, + "90e8": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed to create policy package.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to create policy package." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -312, + "y": 372 + } + } + }, + "transitions": { + "9955": { + "c0e5": { + "type": "standard", + "state": "error" + }, + "7b27": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "c8d5": { + "eaf5": { + "state": "success", + "type": "standard" + } + }, + "9a50": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "4a48": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "c0e5": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "f207": { + "9955": { + "state": "success", + "type": "standard" + }, + "4a48": { + "state": "error", + "type": "standard" + } + }, + "eaf5": { + "f207": { + "state": "success", + "type": "standard" + } + }, + "7b27": { + "2ca5": { + "state": "success", + "type": "standard" + } + }, + "2ca5": { + "8edf": { + "state": "success", + "type": "standard" + }, + "90e8": { + "state": "failure", + "type": "standard" + } + }, + "8edf": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "90e8": { + "9a50": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName", + "policyPackageName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.519Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "created_by": { + "provenance": "okta", + "username": "loan.huynh@itential.com", + "firstname": "Loan", + "inactive": true, + "sso": true, + "nameID": "loan.huynh@itential.com" + }, + "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", + "uuid": "afe79379-8104-4b1d-94ee-c6836761c374", + "tags": [], + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 42, + "reference": "683ff697a3e4e1e6bbb279ca", + "type": "transformation", + "folder": "/Shared Components", + "document": { + "_id": "683ff697a3e4e1e6bbb279ca", + "name": "Standard Output", + "description": "", + "incoming": [ + { + "$id": "success", + "type": "boolean", + "examples": [ + true, + false + ] + }, + { + "$id": "reason", + "type": [ + "string", + "array", + "object" + ], + "examples": [ + "default" + ] + } + ], + "outgoing": [ + { + "$id": "success", + "type": "boolean", + "examples": [ + true, + false + ] + }, + { + "$id": "reason", + "type": "string", + "examples": [ + "default" + ] + }, + { + "$id": "type", + "type": "string", + "examples": [ + "string" + ] + } + ], + "steps": [ + { + "id": 1, + "type": "assign", + "from": { + "location": "incoming", + "name": "success", + "ptr": "" + }, + "to": { + "location": "outgoing", + "name": "success", + "ptr": "" + }, + "context": "#" + }, + { + "id": 6, + "type": "method", + "library": "Array", + "method": "join", + "args": [ + null, + ", " + ], + "view": { + "row": 4, + "col": 3 + }, + "context": "#/24[2]" + }, + { + "id": 24, + "type": "context", + "library": "Conditional", + "method": "switch", + "args": [ + null + ], + "view": { + "row": 2, + "col": 2 + }, + "context": "#", + "return": [ + "string", + "object" + ] + }, + { + "id": 26, + "type": "method", + "library": "JSON", + "method": "type of", + "args": [ + null + ], + "view": { + "row": 2, + "col": 1 + }, + "context": "#" + }, + { + "id": 27, + "type": "assign", + "from": { + "location": "incoming", + "name": "reason", + "ptr": "" + }, + "to": { + "location": "method", + "name": 26, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 28, + "type": "assign", + "from": { + "location": "method", + "name": 26, + "ptr": "/return" + }, + "to": { + "location": "context", + "name": 24, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 30, + "type": "assign", + "from": { + "location": "incoming", + "name": "reason", + "ptr": "" + }, + "to": { + "location": "method", + "name": 6, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 33, + "type": "declaration", + "library": "String", + "method": "new String", + "args": [ + null + ], + "view": { + "row": 2, + "col": 3 + }, + "context": "#/24[1]" + }, + { + "id": 35, + "type": "assign", + "from": { + "location": "incoming", + "name": "reason", + "ptr": "" + }, + "to": { + "location": "declaration", + "name": 33, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 36, + "type": "assign", + "from": { + "location": "declaration", + "name": 33, + "ptr": "/return" + }, + "to": { + "location": "outgoing", + "name": "reason", + "ptr": "" + }, + "context": "#/24[1]" + }, + { + "id": 38, + "type": "assign", + "from": { + "location": "method", + "name": 26, + "ptr": "/return" + }, + "to": { + "location": "outgoing", + "name": "type", + "ptr": "" + }, + "context": "#" + }, + { + "id": 39, + "type": "method", + "library": "Array", + "method": "isArray", + "args": [ + null + ], + "view": { + "row": 3, + "col": 3 + }, + "context": "#/24[2]" + }, + { + "id": 41, + "type": "method", + "library": "Conditional", + "method": "ternary", + "args": [ + null, + null, + null + ], + "view": { + "row": 3, + "col": 4 + }, + "context": "#/24[2]" + }, + { + "id": 42, + "type": "assign", + "from": { + "location": "method", + "name": 39, + "ptr": "/return" + }, + "to": { + "location": "method", + "name": 41, + "ptr": "/args/0/value" + }, + "context": "#/24[2]" + }, + { + "id": 44, + "type": "method", + "library": "JSON", + "method": "stringify", + "args": [ + null, + null, + null + ], + "view": { + "row": 5, + "col": 3 + }, + "context": "#/24[2]" + }, + { + "id": 45, + "type": "assign", + "from": { + "location": "incoming", + "name": "reason", + "ptr": "" + }, + "to": { + "location": "method", + "name": 44, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 46, + "type": "assign", + "from": { + "location": "method", + "name": 44, + "ptr": "/return" + }, + "to": { + "location": "method", + "name": 41, + "ptr": "/args/2/value" + }, + "context": "#/24[2]" + }, + { + "id": 47, + "type": "assign", + "from": { + "location": "incoming", + "name": "reason", + "ptr": "" + }, + "to": { + "location": "method", + "name": 39, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 48, + "type": "assign", + "from": { + "location": "context", + "name": 24, + "ptr": "/return/case_2" + }, + "to": { + "location": "method", + "name": 41, + "ptr": "/context" + }, + "context": "#/24[2]" + }, + { + "id": 50, + "type": "assign", + "from": { + "location": "method", + "name": 6, + "ptr": "/return" + }, + "to": { + "location": "method", + "name": 41, + "ptr": "/args/1/value" + }, + "context": "#/24[2]" + }, + { + "id": 51, + "type": "assign", + "from": { + "location": "context", + "name": 24, + "ptr": "/return/case_1" + }, + "to": { + "location": "declaration", + "name": 33, + "ptr": "/context" + }, + "context": "#/24[1]" + }, + { + "id": 52, + "type": "assign", + "from": { + "location": "method", + "name": 41, + "ptr": "/return" + }, + "to": { + "location": "outgoing", + "name": "reason", + "ptr": "" + }, + "context": "#/24[2]" + }, + { + "id": 53, + "type": "assign", + "from": { + "location": "context", + "name": 24, + "ptr": "/return/case_2" + }, + "to": { + "location": "method", + "name": 39, + "ptr": "/context" + }, + "context": "#/24[2]" + }, + { + "id": 54, + "type": "assign", + "from": { + "location": "context", + "name": 24, + "ptr": "/return/case_2" + }, + "to": { + "location": "method", + "name": 6, + "ptr": "/context" + }, + "context": "#/24[2]" + }, + { + "id": 55, + "type": "assign", + "from": { + "location": "context", + "name": 24, + "ptr": "/return/case_2" + }, + "to": { + "location": "method", + "name": 44, + "ptr": "/context" + }, + "context": "#/24[2]" + } + ], + "functions": [], + "comments": [], + "view": { + "col": 4, + "row": 6 + }, + "created": "2025-06-30T18:33:44.321Z", + "createdBy": { + "_id": "67d9adba294dc79a78c56bec", + "provenance": "CloudAAA", + "username": "trinh.do@itential.com" + }, + "lastUpdated": "2025-07-15T15:48:57.517Z", + "lastUpdatedBy": { + "_id": "67d9adba294dc79a78c56bec", + "provenance": "CloudAAA", + "username": "trinh.do@itential.com" + }, + "version": "4.3.6-2023.2.12", + "tags": [] + } + }, + { + "iid": 62, + "reference": "684c2a9f1c63275a329f4132", + "type": "jsonForm", + "folder": "/Delete Objects", + "document": { + "id": "684c2a9f1c63275a329f4132", + "created": "2025-06-13T13:41:51.845Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.520Z", + "lastUpdatedBy": "trinh.do@itential.com", + "description": "", + "struct": { + "type": "array", + "items": [ + { + "nodeId": "abba5a9b-de47-4bc5-aa08-c11f9556672c", + "type": "string", + "title": "Adom", + "description": "", + "placeholder": "Select an item", + "required": true, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "href": "/getAdoms", + "body": { + "adom": "", + "expandMember": "", + "fields": [], + "filter": [], + "loadSub": 0, + "metaFields": [], + "option": "", + "range": [], + "sortings": [] + }, + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name", + "customKey": "adomName" + }, + { + "nodeId": "1cb673e2-4eb3-425c-80f7-fe9b9cf5abb4", + "type": "string", + "title": "Policy Package", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "href": "/postJsonrpc", + "body": { + "body": { + "method": "get", + "params": [ + { + "url": "/pm/pkg/adom/root" + } + ] + } + }, + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name", + "customKey": "policyPackageName" + } + ] + }, + "schema": { + "title": "FortiManager Delete FW Policy", + "description": "", + "type": "object", + "required": [ + "adomName" + ], + "properties": { + "adomName": { + "type": "string", + "title": "Adom", + "_id": "/properties/adomName", + "description": "", + "enum": [], + "enumNames": [] + }, + "policyPackageName": { + "type": "string", + "title": "Policy Package", + "_id": "/properties/policyPackageName", + "description": "", + "enum": [], + "enumNames": [] + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Select an item" + }, + "policyPackageName": { + "ui:placeholder": "Select an item" + } + }, + "bindingSchema": { + "properties": { + "adomName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "adom": "", + "expandMember": "", + "fields": [], + "filter": [], + "loadSub": 0, + "metaFields": [], + "option": "", + "range": [], + "sortings": [] + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/getAdoms", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + }, + "policyPackageName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "body": { + "method": "get", + "params": [ + { + "url": "/pm/pkg/adom/root" + } + ] + } + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/postJsonrpc", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1", + "name": "Delete Policy Package" + } + }, + { + "iid": 63, + "reference": "684c5eb91c63275a329f4133", + "type": "jsonForm", + "folder": "/Delete Objects", + "document": { + "id": "684c5eb91c63275a329f4133", + "created": "2025-06-13T17:24:09.733Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.521Z", + "lastUpdatedBy": "trinh.do@itential.com", + "description": "", + "struct": { + "type": "array", + "items": [ + { + "nodeId": "abba5a9b-de47-4bc5-aa08-c11f9556672c", + "type": "string", + "title": "Adom", + "description": "", + "placeholder": "Select an item", + "required": true, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "href": "/getAdoms", + "body": { + "adom": "", + "expandMember": "", + "fields": [], + "filter": [], + "loadSub": 0, + "metaFields": [], + "option": "", + "range": [], + "sortings": [] + }, + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name", + "customKey": "adomName" + }, + { + "nodeId": "1cb673e2-4eb3-425c-80f7-fe9b9cf5abb4", + "type": "string", + "title": "Policy Package", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "href": "/postJsonrpc", + "body": { + "body": { + "method": "get", + "params": [ + { + "url": "/pm/pkg/adom/root" + } + ] + } + }, + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name", + "customKey": "policyPackageName" + }, + { + "nodeId": "0974ccbf-f23a-4c78-8af3-080e504cd493", + "type": "string", + "title": "Policy Name", + "description": "Enter the Policy Name", + "placeholder": "Enter the Policy Name", + "required": true, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "firewallName" + } + ] + }, + "schema": { + "title": "FortiManager Delete FW Policy", + "description": "", + "type": "object", + "required": [ + "adomName", + "firewallName" + ], + "properties": { + "adomName": { + "type": "string", + "title": "Adom", + "_id": "/properties/adomName", + "description": "", + "enum": [], + "enumNames": [] + }, + "policyPackageName": { + "type": "string", + "title": "Policy Package", + "_id": "/properties/policyPackageName", + "description": "", + "enum": [], + "enumNames": [] + }, + "firewallName": { + "type": "string", + "title": "Policy Name", + "_id": "/properties/firewallName", + "description": "Enter the Policy Name" + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Select an item" + }, + "policyPackageName": { + "ui:placeholder": "Select an item" + }, + "firewallName": { + "ui:placeholder": "Enter the Policy Name" + } + }, + "bindingSchema": { + "properties": { + "adomName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "adom": "", + "expandMember": "", + "fields": [], + "filter": [], + "loadSub": 0, + "metaFields": [], + "option": "", + "range": [], + "sortings": [] + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/getAdoms", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + }, + "policyPackageName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "body": { + "method": "get", + "params": [ + { + "url": "/pm/pkg/adom/root" + } + ] + } + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/postJsonrpc", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1", + "name": "Delete FW Policy" + } + }, + { + "iid": 64, + "reference": "684c5f101c63275a329f4134", + "type": "jsonForm", + "folder": "/Delete Objects", + "document": { + "id": "684c5f101c63275a329f4134", + "created": "2025-06-13T17:25:36.169Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.521Z", + "lastUpdatedBy": "trinh.do@itential.com", + "description": "", + "struct": { + "type": "array", + "items": [ + { + "nodeId": "abba5a9b-de47-4bc5-aa08-c11f9556672c", + "type": "string", + "title": "Adom", + "description": "", + "placeholder": "Select an item", + "required": true, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "href": "/getAdoms", + "body": { + "adom": "", + "expandMember": "", + "fields": [], + "filter": [], + "loadSub": 0, + "metaFields": [], + "option": "", + "range": [], + "sortings": [] + }, + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name", + "customKey": "adomName" + } + ] + }, + "schema": { + "title": "FortiManager Delete Adom", + "description": "", + "type": "object", + "required": [ + "adomName" + ], + "properties": { + "adomName": { + "type": "string", + "title": "Adom", + "_id": "/properties/adomName", + "description": "", + "enum": [], + "enumNames": [] + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Select an item" + } + }, + "bindingSchema": { + "properties": { + "adomName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "adom": "", + "expandMember": "", + "fields": [], + "filter": [], + "loadSub": 0, + "metaFields": [], + "option": "", + "range": [], + "sortings": [] + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/getAdoms", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1", + "name": "Delete Adom" + } + }, + { + "iid": 65, + "type": "workflow", + "reference": "188bd8f1-10af-49a6-99dd-7a800c12d921", + "folder": "/Read Objects", + "document": { + "name": "Read Policy Package", + "tasks": { + "2110": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + }, + { + "key": "policyPackageName", + "value": { + "task": "job", + "variable": "policyPackageName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -756 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -1008 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -204 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\n1. Read the policy package with given Adom and policy package's name\n---GET: \"url\": \"/pm/pkg/adom//\"\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\"\n}\n```\n\n\n", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -924 + } + }, + "c8d5": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Read Policy Package completed." + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -840 + } + }, + "9a50": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Failure path", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": -204 + } + }, + "c0e5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed perform a request to get the Policy Package.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed perform a request to get the Policy Package." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": -576 + } + }, + "39d0": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload to read policy package", + "description": "Create payload to read policy package", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"get\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom//\"\n}\n ]\n }", + "outputType": "json", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -672 + } + }, + "cc40": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Read policy package", + "description": "Read policy package", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.39d0.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -576 + } + }, + "9ac7": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is the policy package existed?", + "description": "Is the policy package existed?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "1b84", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": null + }, + "operator": "!=", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -396 + } + }, + "9ad6": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Policy package not found.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Policy package not found." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": -444 + } + }, + "0d66": { + "name": "stub", + "canvasName": "stub", + "summary": "Success Path", + "description": "Success Path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.c8d5.reason" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -300 + } + }, + "1b84": { + "name": "query", + "canvasName": "query", + "summary": "Get request's response ", + "description": "Query request's response ", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].data", + "obj": "$var.cc40.result" + }, + "outgoing": { + "return_data": "$var.job.return_data" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -492 + } + } + }, + "transitions": { + "2110": { + "39d0": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "c8d5": { + "2110": { + "state": "success", + "type": "standard" + } + }, + "9a50": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "c0e5": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "39d0": { + "cc40": { + "state": "success", + "type": "standard" + } + }, + "cc40": { + "c0e5": { + "type": "standard", + "state": "error" + }, + "1b84": { + "state": "success", + "type": "standard" + } + }, + "9ac7": { + "9ad6": { + "state": "failure", + "type": "standard" + }, + "0d66": { + "state": "success", + "type": "standard" + } + }, + "9ad6": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "0d66": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "1b84": { + "9ac7": { + "state": "success", + "type": "standard" + }, + "9ad6": { + "state": "failure", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName", + "policyPackageName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "return_data": { + "title": "return_data", + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + }, + { + "type": "array" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "examples": [ + "value" + ] + } + } + }, + "tags": [], + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.522Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "uuid": "4a545dab-cf3e-43a5-b089-74820507bcb2", + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 67, + "type": "jsonForm", + "folder": "/Update Objects", + "reference": "686c3252d94942293cb0ffbe", + "document": { + "id": "686c3252d94942293cb0ffbe", + "created": "2025-07-07T20:47:14.981Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.522Z", + "lastUpdatedBy": "trinh.do@itential.com", + "name": "Update Adom with new device and description", + "description": "", + "struct": { + "type": "object", + "description": "", + "items": [ + { + "nodeId": "d9fadfba-ce14-4f9b-8036-a192181d7585", + "type": "string", + "title": "ADOM", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "customKey": "adomName", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "href": "/postJsonrpc", + "body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name" + }, + { + "nodeId": "b659549a-ee84-4403-b83a-93431da8be16", + "type": "string", + "title": "Device", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "href": "/postJsonrpc", + "body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/device" + } + ] + } + }, + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/hostname", + "customKey": "device" + }, + { + "nodeId": "097c3e35-1749-4c2f-b4bc-8450deb704f8", + "type": "string", + "title": "Description", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "description" + } + ] + }, + "schema": { + "title": "Add new device to ADOM with ADOM's description", + "description": "", + "type": "object", + "required": [], + "properties": { + "adomName": { + "type": "string", + "title": "ADOM", + "_id": "/properties/adomName", + "description": "", + "enum": [], + "enumNames": [] + }, + "device": { + "type": "string", + "title": "Device", + "_id": "/properties/device", + "description": "", + "enum": [], + "enumNames": [] + }, + "description": { + "type": "string", + "title": "Description", + "_id": "/properties/description", + "description": "" + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Select an item" + }, + "device": { + "ui:placeholder": "Select an item" + }, + "description": { + "ui:placeholder": "Enter text" + } + }, + "bindingSchema": { + "properties": { + "adomName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/postJsonrpc", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + }, + "device": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/device" + } + ] + } + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/postJsonrpc", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/hostname" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1" + } + }, + { + "iid": 68, + "type": "workflow", + "reference": "6c778460-b957-495d-8641-af9150c471dd", + "folder": "/Update Objects", + "document": { + "tags": [], + "name": "Update Adom", + "tasks": { + "2110": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs to add device to ADOM", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + }, + { + "key": "device", + "value": { + "task": "job", + "variable": "device" + } + }, + { + "key": "vdom", + "value": { + "task": "d38f", + "variable": "return_data" + } + }, + { + "key": "description", + "value": { + "task": "job", + "variable": "description" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -864 + } + }, + "7926": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs to get device's data", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + }, + { + "key": "device", + "value": { + "task": "job", + "variable": "device" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -1440 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -1728 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 48 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\n1. Get the device by its name\n -GET \"url\": \"/dvmdb/device\",\n\"filter\": [\n \"name\", \"==\", \"\"\n \n2. Add the device to the given ADOM with its name and vdom\n -ADD \"data\": {\n \"name\": \"\",\n \"vdom\": \"\"\n },\n \"url\": \"/dvmdb/adom//object member\"\n\n3. Update the ADOM description.\n -UPDATE \"url\": \"dvmdb/adom/\",\n \"data\": \n {\"desc\":\"\"}\n\nSample payload:\n```\n{\n \"adomName\": \"TDtest\",\n \"device\": \"\nFGVM02TM24012094\",\n \"description\": \"New description\"\n}\n```\n\n\n", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -1632 + } + }, + "c8d5": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Update Adom with device and description completed.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Update Adom with device and description completed." + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -1536 + } + }, + "9a50": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Failure path", + "description": "Failure path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": 48 + } + }, + "4a48": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed to update the ADOM with a device", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to update the ADOM with a device" + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -504 + } + }, + "c0e5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed to update ADOM with a description", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to update ADOM with a description" + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -144 + } + }, + "42cd": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Add device to ADOM", + "description": "Add device to ADOM request.", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.b81b.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -684 + } + }, + "39d0": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload to update ADOM with description", + "description": "Create payload to update ADOM with description", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"update\",\n \"params\": [\n {\n \"url\": \"dvmdb/adom/\",\n \"data\": \n {\"desc\":\"\"}\n }\n ]\n}", + "outputType": "json", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -432 + } + }, + "cc40": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Update ADOM with description", + "description": "Update ADOM with description request.", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.39d0.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -336 + } + }, + "9ac7": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is updating description of the ADOM successful?", + "description": "Is updating description of the ADOM successful?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "1b84", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": "==", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -144 + } + }, + "0d66": { + "name": "stub", + "canvasName": "stub", + "summary": "Success Path", + "description": "Success Path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.c8d5.success" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -48 + } + }, + "1b84": { + "name": "query", + "canvasName": "query", + "summary": "Query Request's Response ", + "description": "Query Request's Response ", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].status.code", + "obj": "$var.cc40.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -240 + } + }, + "0ce9": { + "name": "query", + "canvasName": "query", + "summary": "Query update request's response", + "description": "Query update request's response", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].status.code", + "obj": "$var.42cd.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -600 + } + }, + "ee27": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is the update success?", + "description": "Is the update success?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "0ce9", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": "==", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -510 + } + }, + "d1fe": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload to get the device's data", + "description": "Make request body for get the device's data using its name", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n\"method\": \"get\",\n \"params\": [\n {\n \"url\": \"/dvmdb/device\",\n\"filter\": [\n \"name\", \"==\", \"\"\n ]\n }\n ]\n}", + "outputType": "json", + "variables": "$var.7926.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -1344 + } + }, + "499e": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Get device's data", + "description": "Make call to get device's data", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.d1fe.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -1248 + } + }, + "d38f": { + "name": "query", + "canvasName": "query", + "summary": "Query device's VDOM Name", + "description": "Query device's VDOM Name", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].data[0].vdom[0].name", + "obj": "$var.499e.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -960 + } + }, + "b81b": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload to add device to ADOM", + "description": "Create payload to add device to ADOM.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"add\",\n \"params\": [{\n \"data\": {\n \"name\": \"\",\n \"vdom\": \"\"\n },\n \"url\": \"/dvmdb/adom//object member\"\n }]\n}", + "outputType": "json", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -780 + } + }, + "8fa7": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed to get device information.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to get device information." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -1056 + } + }, + "62cf": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is getting device's data success?", + "description": "Is getting device's data success?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "bedc", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": "==", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -1056 + } + }, + "bedc": { + "name": "query", + "canvasName": "query", + "summary": "Get the response of request for device's data", + "description": "Get the response of request for device's data", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].status.code", + "obj": "$var.499e.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -1140 + } + } + }, + "transitions": { + "2110": { + "b81b": { + "state": "success", + "type": "standard" + } + }, + "7926": { + "d1fe": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "c8d5": { + "7926": { + "state": "success", + "type": "standard" + } + }, + "9a50": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "4a48": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "c0e5": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "42cd": { + "4a48": { + "type": "standard", + "state": "error" + }, + "0ce9": { + "state": "success", + "type": "standard" + } + }, + "39d0": { + "cc40": { + "state": "success", + "type": "standard" + } + }, + "cc40": { + "c0e5": { + "type": "standard", + "state": "error" + }, + "1b84": { + "state": "success", + "type": "standard" + } + }, + "9ac7": { + "0d66": { + "state": "success", + "type": "standard" + }, + "c0e5": { + "state": "failure", + "type": "standard" + } + }, + "0d66": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "1b84": { + "9ac7": { + "state": "success", + "type": "standard" + } + }, + "0ce9": { + "ee27": { + "state": "success", + "type": "standard" + } + }, + "ee27": { + "39d0": { + "state": "success", + "type": "standard" + }, + "4a48": { + "state": "failure", + "type": "standard" + } + }, + "d1fe": { + "499e": { + "state": "success", + "type": "standard" + } + }, + "499e": { + "8fa7": { + "state": "error", + "type": "standard" + }, + "bedc": { + "state": "success", + "type": "standard" + } + }, + "d38f": { + "2110": { + "state": "success", + "type": "standard" + } + }, + "b81b": { + "42cd": { + "state": "success", + "type": "standard" + } + }, + "8fa7": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "62cf": { + "d38f": { + "state": "success", + "type": "standard" + }, + "8fa7": { + "state": "failure", + "type": "standard" + } + }, + "bedc": { + "62cf": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "device": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "description": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName", + "device", + "description" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "device": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "description": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.523Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "uuid": "7c843e37-05b7-4fd0-b4f0-00dec6ca10e9", + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 70, + "type": "jsonForm", + "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "reference": "686dfbf6d4b5ebcaf8858752", + "document": { + "id": "686dfbf6d4b5ebcaf8858752", + "created": "2025-07-09T05:19:50.735Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.524Z", + "lastUpdatedBy": "trinh.do@itential.com", + "name": "Create Policy Package", + "description": "", + "struct": { + "type": "object", + "description": "", + "items": [ + { + "nodeId": "d2f413c6-cd05-472a-b5c6-43851b8df0c0", + "type": "string", + "title": "ADOM", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "customKey": "adomName", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "href": "/postJsonrpc", + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name" + }, + { + "nodeId": "bd21eaf5-5b60-4588-a3e4-5b16e1e8d0ff", + "type": "string", + "title": "Policy Package", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "policyPackageName" + } + ] + }, + "schema": { + "title": "Update Policy Package Policy Offload Level", + "description": "", + "type": "object", + "required": [], + "properties": { + "adomName": { + "type": "string", + "title": "ADOM", + "_id": "/properties/adomName", + "description": "", + "enum": [], + "enumNames": [] + }, + "policyPackageName": { + "type": "string", + "title": "Policy Package", + "_id": "/properties/policyPackageName", + "description": "" + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Select an item" + }, + "policyPackageName": { + "ui:placeholder": "Enter text" + } + }, + "bindingSchema": { + "properties": { + "adomName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/postJsonrpc", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1" + } + }, + { + "iid": 74, + "type": "jsonForm", + "reference": "686ee3ea67771b9bcfeba459", + "folder": "/Update Objects", + "document": { + "id": "686ee3ea67771b9bcfeba459", + "created": "2025-07-09T21:49:30.486Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.524Z", + "lastUpdatedBy": "trinh.do@itential.com", + "description": "", + "struct": { + "type": "object", + "description": "", + "items": [ + { + "nodeId": "d2f413c6-cd05-472a-b5c6-43851b8df0c0", + "type": "string", + "title": "ADOM", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "customKey": "adomName", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "href": "/postJsonrpc", + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name" + }, + { + "nodeId": "bd21eaf5-5b60-4588-a3e4-5b16e1e8d0ff", + "type": "string", + "title": "Policy Package", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "policyPackageName" + }, + { + "nodeId": "9ce68b65-4c04-4337-90e6-2f3504df382a", + "type": "string", + "title": "Firewall Policy", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "policyName" + }, + { + "nodeId": "b0b6b1f3-ec61-4971-aa41-e2cbc1268043", + "type": "string", + "title": "Comment", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "comment" + } + ] + }, + "schema": { + "title": "Update Firewall Policy's description", + "description": "", + "type": "object", + "required": [], + "properties": { + "adomName": { + "type": "string", + "title": "ADOM", + "_id": "/properties/adomName", + "description": "", + "enum": [], + "enumNames": [] + }, + "policyPackageName": { + "type": "string", + "title": "Policy Package", + "_id": "/properties/policyPackageName", + "description": "" + }, + "policyName": { + "type": "string", + "title": "Firewall Policy", + "_id": "/properties/policyName", + "description": "" + }, + "comment": { + "type": "string", + "title": "Comment", + "_id": "/properties/comment", + "description": "" + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Select an item" + }, + "policyPackageName": { + "ui:placeholder": "Enter text" + }, + "policyName": { + "ui:placeholder": "Enter text" + }, + "comment": { + "ui:placeholder": "Enter text" + } + }, + "bindingSchema": { + "properties": { + "adomName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/postJsonrpc", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1", + "name": "Update Firewall Policy's comment" + } + }, + { + "iid": 75, + "type": "workflow", + "reference": "69f7423b-0884-4668-af5f-f8419c875676", + "folder": "/Read Objects", + "document": { + "name": "Read Firewall Policy", + "tasks": { + "2110": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + }, + { + "key": "policyPackageName", + "value": { + "task": "job", + "variable": "policyPackageName" + } + }, + { + "key": "policyName", + "value": { + "task": "job", + "variable": "policyName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -708 + } + }, + "8372": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Prep query to get firewall policy with name", + "description": "Prep query to get firewall policy with name", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "response.result[0].data[name=]", + "outputType": "string", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -420 + } + }, + "8646": { + "name": "stub", + "canvasName": "stub", + "summary": "Success Path", + "description": "Success Path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.c8d5.reason" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -132 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -996 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -48 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\n1. Get the list of policy package list.\n --GET: \"url\": \"/pm/config/adom//pkg//firewall/policy\"\n\n2. Query the policy package with provided name\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy2_frIAP\"\n}\n```\n", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -900 + } + }, + "c8d5": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Create Firewall Policy completed." + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -804 + } + }, + "9a50": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Failure path - Standard Output", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -348, + "y": -48 + } + }, + "c0e5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed to get firewall policy.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to get firewall policy." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -348, + "y": -228 + } + }, + "42cd": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Get firewall policy list", + "description": "Get firewall policy list request", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.4a97.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -516 + } + }, + "a8b0": { + "name": "query", + "canvasName": "query", + "summary": "Get Firewall Policy", + "description": "Get Firewall Policy", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "$var.8372.output", + "obj": "$var.42cd.result" + }, + "outgoing": { + "return_data": "$var.job.return_data" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -324 + } + }, + "4a97": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload to get firewall policy list", + "description": "Create payload to get firewall policy list", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"get\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\"\n }\n ]\n}", + "outputType": "json", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -612 + } + }, + "5dfd": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is the firewall policy existed?", + "description": "Is the firewall policy existed?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "a8b0", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": null + }, + "operator": "!=", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -228 + } + }, + "0fdb": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed to get firewall policy list.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to get firewall policy list." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -348, + "y": -516 + } + } + }, + "transitions": { + "2110": { + "4a97": { + "state": "success", + "type": "standard" + } + }, + "8372": { + "a8b0": { + "state": "success", + "type": "standard" + } + }, + "8646": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "c8d5": { + "2110": { + "state": "success", + "type": "standard" + } + }, + "9a50": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "c0e5": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "42cd": { + "8372": { + "state": "success", + "type": "standard" + }, + "0fdb": { + "type": "standard", + "state": "error" + } + }, + "a8b0": { + "5dfd": { + "state": "success", + "type": "standard" + } + }, + "4a97": { + "42cd": { + "state": "success", + "type": "standard" + } + }, + "5dfd": { + "8646": { + "state": "success", + "type": "standard" + }, + "c0e5": { + "state": "failure", + "type": "standard" + } + }, + "0fdb": { + "9a50": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName", + "policyPackageName", + "policyName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "return_data": { + "title": "return_data", + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + }, + { + "type": "array" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "examples": [ + "value" + ] + } + } + }, + "tags": [], + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.525Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "uuid": "ba0d80d0-5ac4-4aae-9f9f-7a0520564a4e", + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 76, + "type": "workflow", + "reference": "9b872246-79e7-42fb-b2f0-b2b76ec79634", + "folder": "/Update Objects", + "document": { + "name": "Update Policy Package", + "tasks": { + "2110": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + }, + { + "key": "policyPackageName", + "value": { + "task": "job", + "variable": "policyPackageName" + } + }, + { + "key": "policyOffloadLevel", + "value": { + "task": "job", + "variable": "policyOffloadLevel" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -720 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -1008 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 48 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\n1. Update Policy Packages with policy offload level (or new property if you needed)\n - POST (update)\"url\": \"/pm/pkg/adom//\",\n \"data\": \n {\"name\":\"\",\n\"package settings\": {\"policy-offload-level\": }\n\n2. Check the updated policy package by getting its policy offload level and compare.\n - POST (get) \"url\": \"/pm/pkg/adom//\"\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyOffloadLevel\":0\n}\n```\n\nPolicy offload level:\n0 : Disable\n1 : Default\n2 : DoS Offload\n3 : Full Offload \n\n\n", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -912 + } + }, + "c8d5": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Update Policy Package completed." + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -816 + } + }, + "9a50": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Failure path - Standard Output", + "description": "Handle for failed path.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": 48 + } + }, + "4a48": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed to update the policy package.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to update the policy package." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": -528 + } + }, + "c0e5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed perform a request to get the Policy Package.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed perform a request to get the Policy Package." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": -336 + } + }, + "42cd": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Update the policy offload level", + "description": "Make request to update the policy offload level of a policy package.", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.4a97.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -528 + } + }, + "4a97": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload for updating policy offload level", + "description": "Make request body for updating the policy offload level for Policy Package. If you wish to update any other property, it would be in similar way", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom//\",\n \"data\": \n {\"name\":\"\",\n\"package settings\": {\"policy-offload-level\": }\n}\n }\n ]\n}", + "outputType": "json", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -624 + } + }, + "39d0": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload to get the newly updated policy package", + "description": "Create payload to get the newly updated policy package", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"get\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom//\"\n}\n ]\n }", + "outputType": "json", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -432 + } + }, + "cc40": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Get newly updated policy package", + "description": "Get newly updated policy package request.", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.39d0.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -336 + } + }, + "9ac7": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is the policy offload level match?", + "description": "Is the policy offload level match with what we requested to update?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "1b84", + "variable": "return_data" + }, + "operand_2": { + "task": "job", + "variable": "policyOffloadLevel" + }, + "operator": "==", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -144 + } + }, + "9ad6": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Policy offload level does not match with what has been requested to update.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Policy offload level does not match with what has been requested to update." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": -144 + } + }, + "0d66": { + "name": "stub", + "canvasName": "stub", + "summary": "Success Path", + "description": "Success Path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.c8d5.success" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -48 + } + }, + "1b84": { + "name": "query", + "canvasName": "query", + "summary": "Get request's response ", + "description": "Get request's response ", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].data.package settings.policy-offload-level", + "obj": "$var.cc40.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -240 + } + } + }, + "transitions": { + "2110": { + "4a97": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "c8d5": { + "2110": { + "state": "success", + "type": "standard" + } + }, + "9a50": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "4a48": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "c0e5": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "42cd": { + "39d0": { + "state": "success", + "type": "standard" + }, + "4a48": { + "type": "standard", + "state": "error" + } + }, + "4a97": { + "42cd": { + "state": "success", + "type": "standard" + } + }, + "39d0": { + "cc40": { + "state": "success", + "type": "standard" + } + }, + "cc40": { + "c0e5": { + "type": "standard", + "state": "error" + }, + "1b84": { + "state": "success", + "type": "standard" + } + }, + "9ac7": { + "9ad6": { + "state": "failure", + "type": "standard" + }, + "0d66": { + "state": "success", + "type": "standard" + } + }, + "9ad6": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "0d66": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "1b84": { + "9ac7": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyOffloadLevel": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName", + "policyPackageName", + "policyOffloadLevel" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyOffloadLevel": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + } + } + }, + "tags": [], + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.525Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "uuid": "a4c6f7f8-0338-4eb9-9b2d-29bc2f1feaf9", + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 78, + "type": "workflow", + "reference": "508e6ebc-e9b7-4333-84c0-72ddc36d49a1", + "folder": "/Read Objects", + "document": { + "name": "Read ADOM", + "tasks": { + "2110": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -504 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -792 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 48 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\n1. Get Adom by name:\n --Get \"url\": \"/dvmdb/adom/\"\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\"\n}\n```\n\n\n", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -696 + } + }, + "c8d5": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Read Adom completed." + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -600 + } + }, + "9a50": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Failure path", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": 48 + } + }, + "c0e5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed to perform a request to get the Adom with name", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to perform a request to get the Adom with name" + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": -324 + } + }, + "39d0": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload get the adom", + "description": "Create payload get the adom", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"get\",\n \"params\": [\n {\n\"url\": \"/dvmdb/adom/\"\n}\n ]\n }", + "outputType": "json", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -408 + } + }, + "cc40": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Get Adom by name", + "description": "Get Adom by name request", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.39d0.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -324 + } + }, + "9ac7": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is Adom existed?", + "description": "Is Adom existed?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "1b84", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": null + }, + "operator": "!=", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -144 + } + }, + "9ad6": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Adom not found.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Adom not found." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": -144 + } + }, + "0d66": { + "name": "stub", + "canvasName": "stub", + "summary": "Success Path", + "description": "Success Path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.c8d5.reason" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -48 + } + }, + "1b84": { + "name": "query", + "canvasName": "query", + "summary": "Query Adom", + "description": "Query Adom", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].data", + "obj": "$var.cc40.result" + }, + "outgoing": { + "return_data": "$var.job.return_data" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -240 + } + } + }, + "transitions": { + "2110": { + "39d0": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "c8d5": { + "2110": { + "state": "success", + "type": "standard" + } + }, + "9a50": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "c0e5": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "39d0": { + "cc40": { + "state": "success", + "type": "standard" + } + }, + "cc40": { + "c0e5": { + "type": "standard", + "state": "error" + }, + "1b84": { + "state": "success", + "type": "standard" + } + }, + "9ac7": { + "9ad6": { + "state": "failure", + "type": "standard" + }, + "0d66": { + "state": "success", + "type": "standard" + } + }, + "9ad6": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "0d66": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "1b84": { + "9ac7": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "return_data": { + "title": "return_data", + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + }, + { + "type": "array" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "examples": [ + "value" + ] + } + } + }, + "tags": [], + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.526Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "uuid": "501c5d9f-e35d-4183-b091-53494460075d", + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 82, + "type": "jsonForm", + "reference": "68705c885e764b5fa6470d49", + "folder": "/Update Objects", + "document": { + "id": "68705c885e764b5fa6470d49", + "created": "2025-07-11T00:36:24.394Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.527Z", + "lastUpdatedBy": "trinh.do@itential.com", + "description": "", + "struct": { + "type": "object", + "description": "", + "items": [ + { + "nodeId": "d2f413c6-cd05-472a-b5c6-43851b8df0c0", + "type": "string", + "title": "ADOM", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "customKey": "adomName", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "href": "/postJsonrpc", + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name" + }, + { + "nodeId": "bd21eaf5-5b60-4588-a3e4-5b16e1e8d0ff", + "type": "string", + "title": "Policy Package", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "policyPackageName" + }, + { + "nodeId": "aa04eb18-8af3-4c8b-9640-f96bc75a0eb0", + "type": "string", + "title": "Policy Offload Level", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [ + { + "id": "63c4c320-353d-42d0-ae75-4f93561d86ac", + "label": "0", + "value": "0" + }, + { + "id": "cdbb2662-c9a6-41e3-9548-a8cf43a3c2d6", + "label": "1", + "value": "1" + }, + { + "id": "0f4811da-3345-498e-9178-0113fe07b11d", + "label": "2", + "value": "2" + }, + { + "id": "054a8838-de65-4a35-8d07-47d69464dae4", + "label": "3", + "value": "3" + } + ], + "enumNames": [ + { + "id": "781894af-7cbe-4115-9eb5-fe13e525b51b", + "label": "Disable", + "value": "Disable" + }, + { + "id": "db4f0eca-85b9-47e1-ac52-1fca6bf437b1", + "label": "Default", + "value": "Default" + }, + { + "id": "6756921a-724d-4e7c-a63a-2c74cf2b744e", + "label": "DoS Offload", + "value": "DoS Offload" + }, + { + "id": "b9c6b984-b486-4278-99c7-0bd0bf18f078", + "label": "Full Offload", + "value": "Full Offload" + } + ], + "binding": false, + "rel": "collection", + "targetPointer": "/enum", + "customKey": "policyOffloadLevel" + } + ] + }, + "schema": { + "title": "Update Policy Package Policy Offload Level", + "description": "", + "type": "object", + "required": [], + "properties": { + "adomName": { + "type": "string", + "title": "ADOM", + "_id": "/properties/adomName", + "description": "", + "enum": [], + "enumNames": [] + }, + "policyPackageName": { + "type": "string", + "title": "Policy Package", + "_id": "/properties/policyPackageName", + "description": "" + }, + "policyOffloadLevel": { + "type": "string", + "title": "Policy Offload Level", + "_id": "/properties/policyOffloadLevel", + "description": "", + "enum": [ + "0", + "1", + "2", + "3" + ], + "enumNames": [ + "Disable", + "Default", + "DoS Offload", + "Full Offload" + ] + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Select an item" + }, + "policyPackageName": { + "ui:placeholder": "Enter text" + }, + "policyOffloadLevel": { + "ui:placeholder": "Select an item" + } + }, + "bindingSchema": { + "properties": { + "adomName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/postJsonrpc", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1", + "name": "Update Policy Package with policy offload level" + } + }, + { + "iid": 83, + "type": "jsonForm", + "reference": "68705d5f5e764b5fa6470d4a", + "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "document": { + "id": "68705d5f5e764b5fa6470d4a", + "created": "2025-07-11T00:39:59.234Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.528Z", + "lastUpdatedBy": "trinh.do@itential.com", + "description": "", + "struct": { + "type": "object", + "description": "", + "items": [ + { + "nodeId": "77ce50a4-dc3e-4f8c-b490-d6259f2042da", + "type": "string", + "title": "ADOM", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "adomName" + } + ] + }, + "schema": { + "title": "Create Adom", + "description": "", + "type": "object", + "required": [], + "properties": { + "adomName": { + "type": "string", + "title": "ADOM", + "_id": "/properties/adomName", + "description": "" + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Enter text" + } + }, + "bindingSchema": {}, + "validationSchema": {}, + "version": "2020.1", + "name": "Create Adom" + } + }, + { + "iid": 85, + "type": "jsonForm", + "reference": "68705ea45e764b5fa6470d4c", + "folder": "/Read Objects", + "document": { + "id": "68705ea45e764b5fa6470d4c", + "created": "2025-07-11T00:45:24.202Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.529Z", + "lastUpdatedBy": "trinh.do@itential.com", + "description": "", + "struct": { + "type": "object", + "description": "", + "items": [ + { + "nodeId": "d2f413c6-cd05-472a-b5c6-43851b8df0c0", + "type": "string", + "title": "ADOM", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "customKey": "adomName", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "href": "/postJsonrpc", + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name" + }, + { + "nodeId": "bd21eaf5-5b60-4588-a3e4-5b16e1e8d0ff", + "type": "string", + "title": "Policy Package", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "policyPackageName" + }, + { + "nodeId": "9ce68b65-4c04-4337-90e6-2f3504df382a", + "type": "string", + "title": "Firewall Policy", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "policyName" + } + ] + }, + "schema": { + "title": "Create Firewall Policy", + "description": "", + "type": "object", + "required": [], + "properties": { + "adomName": { + "type": "string", + "title": "ADOM", + "_id": "/properties/adomName", + "description": "", + "enum": [], + "enumNames": [] + }, + "policyPackageName": { + "type": "string", + "title": "Policy Package", + "_id": "/properties/policyPackageName", + "description": "" + }, + "policyName": { + "type": "string", + "title": "Firewall Policy", + "_id": "/properties/policyName", + "description": "" + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Select an item" + }, + "policyPackageName": { + "ui:placeholder": "Enter text" + }, + "policyName": { + "ui:placeholder": "Enter text" + } + }, + "bindingSchema": { + "properties": { + "adomName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/postJsonrpc", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1", + "name": "Read Firewall Policy" + } + }, + { + "iid": 86, + "type": "jsonForm", + "reference": "68705ef55e764b5fa6470d4d", + "folder": "/Read Objects", + "document": { + "id": "68705ef55e764b5fa6470d4d", + "created": "2025-07-11T00:46:45.816Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.531Z", + "lastUpdatedBy": "trinh.do@itential.com", + "description": "", + "struct": { + "type": "object", + "description": "", + "items": [ + { + "nodeId": "d2f413c6-cd05-472a-b5c6-43851b8df0c0", + "type": "string", + "title": "ADOM", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "customKey": "adomName", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "href": "/postJsonrpc", + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name" + }, + { + "nodeId": "bd21eaf5-5b60-4588-a3e4-5b16e1e8d0ff", + "type": "string", + "title": "Policy Package", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "policyPackageName" + } + ] + }, + "schema": { + "title": "Read Policy Package", + "description": "", + "type": "object", + "required": [], + "properties": { + "adomName": { + "type": "string", + "title": "ADOM", + "_id": "/properties/adomName", + "description": "", + "enum": [], + "enumNames": [] + }, + "policyPackageName": { + "type": "string", + "title": "Policy Package", + "_id": "/properties/policyPackageName", + "description": "" + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Select an item" + }, + "policyPackageName": { + "ui:placeholder": "Enter text" + } + }, + "bindingSchema": { + "properties": { + "adomName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/postJsonrpc", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1", + "name": "Read Policy Package" + } + }, + { + "iid": 87, + "type": "jsonForm", + "reference": "68705f115e764b5fa6470d4e", + "folder": "/Read Objects", + "document": { + "id": "68705f115e764b5fa6470d4e", + "created": "2025-07-11T00:47:13.392Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.530Z", + "lastUpdatedBy": "trinh.do@itential.com", + "description": "", + "struct": { + "type": "object", + "description": "", + "items": [ + { + "nodeId": "d9fadfba-ce14-4f9b-8036-a192181d7585", + "type": "string", + "title": "ADOM", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "customKey": "adomName", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "href": "/postJsonrpc", + "body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name" + } + ] + }, + "schema": { + "title": "Read Adom", + "description": "", + "type": "object", + "required": [], + "properties": { + "adomName": { + "type": "string", + "title": "ADOM", + "_id": "/properties/adomName", + "description": "", + "enum": [], + "enumNames": [] + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Select an item" + } + }, + "bindingSchema": { + "properties": { + "adomName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/postJsonrpc", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1", + "name": "Read Adom" + } + }, + { + "iid": 88, + "type": "workflow", + "reference": "8c68ce35-a38c-4ab9-8267-e8d3cfad2f92", + "folder": "/Check Objects Existence", + "document": { + "name": "Check Policy Package's existence", + "tasks": { + "2110": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + }, + { + "key": "policyPackageName", + "value": { + "task": "job", + "variable": "policyPackageName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -756 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -1008 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -108 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\n1. Read the policy package with given Adom and policy package's name\n---GET: \"url\": \"/pm/pkg/adom//\"\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\"\n}\n```\n\n\n", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -924 + } + }, + "c8d5": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Check Policy Package completed." + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -840 + } + }, + "9a50": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Failure path", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": -108 + } + }, + "c0e5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed perform a request to get the Policy Package.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed perform a request to get the Policy Package." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": -576 + } + }, + "39d0": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload to read policy package", + "description": "Create payload to read policy package", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"get\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom//\"\n}\n ]\n }", + "outputType": "json", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -672 + } + }, + "cc40": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Read policy package", + "description": "Read policy package", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.39d0.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -576 + } + }, + "9ac7": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is the policy package existed?", + "description": "Is the policy package existed?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "1b84", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": "==", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -396 + } + }, + "9ad6": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "Policy Package does not exist", + "description": "Policy Package does not exist", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "existence", + "value": false + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -144, + "y": -300 + } + }, + "0d66": { + "name": "stub", + "canvasName": "stub", + "summary": "Success Path", + "description": "Success Path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.c8d5.reason" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -204 + } + }, + "1b84": { + "name": "query", + "canvasName": "query", + "summary": "Get request's response ", + "description": "Query request's response ", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].status.code", + "obj": "$var.cc40.result" + }, + "outgoing": { + "return_data": null + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -492 + } + }, + "bd44": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "Policy Package exists", + "description": "Policy Package exists", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "existence", + "value": true + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 156, + "y": -300 + } + } + }, + "transitions": { + "2110": { + "39d0": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "c8d5": { + "2110": { + "state": "success", + "type": "standard" + } + }, + "9a50": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "c0e5": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "39d0": { + "cc40": { + "state": "success", + "type": "standard" + } + }, + "cc40": { + "c0e5": { + "type": "standard", + "state": "error" + }, + "1b84": { + "state": "success", + "type": "standard" + } + }, + "9ac7": { + "9ad6": { + "state": "failure", + "type": "standard" + }, + "bd44": { + "state": "success", + "type": "standard" + } + }, + "9ad6": { + "0d66": { + "state": "success", + "type": "standard" + } + }, + "0d66": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "1b84": { + "9ac7": { + "state": "success", + "type": "standard" + } + }, + "bd44": { + "0d66": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName", + "policyPackageName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "existence": { + "type": "boolean" + } + } + }, + "tags": [], + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.532Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "uuid": "f83f9f45-64cd-431f-be97-95d46be43a49", + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 89, + "type": "workflow", + "reference": "56bc4d3e-75ec-4a68-916d-9d7b39232dc2", + "folder": "/Check Objects Existence", + "document": { + "name": "Check ADOM's existence", + "tasks": { + "2110": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -504 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -792 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 132 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\n1. Get Adom by name:\n --Get \"url\": \"/dvmdb/adom/\"\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\"\n}\n```\n\n\n", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -696 + } + }, + "c8d5": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Check Adom completed." + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -600 + } + }, + "9a50": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Failure path", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": 132 + } + }, + "c0e5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed to perform a request to get the Adom with name", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to perform a request to get the Adom with name" + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -324, + "y": -324 + } + }, + "39d0": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload get the adom", + "description": "Create payload get the adom", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"get\",\n \"params\": [\n {\n\"url\": \"/dvmdb/adom/\"\n}\n ]\n }", + "outputType": "json", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -408 + } + }, + "cc40": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Get Adom by name", + "description": "Get Adom by name request", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.39d0.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -324 + } + }, + "9ac7": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is Adom existed?", + "description": "Is Adom existed?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "1b84", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": "==", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -144 + } + }, + "9ad6": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "ADOM NOT exists", + "description": "ADOM NOT exists", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "existence", + "value": false + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -144, + "y": -60 + } + }, + "0d66": { + "name": "stub", + "canvasName": "stub", + "summary": "Success Path", + "description": "Success Path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.c8d5.reason" + }, + "outgoing": { + "response": null + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 36 + } + }, + "1b84": { + "name": "query", + "canvasName": "query", + "summary": "Query request's response", + "description": "Query request's response", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].status.code", + "obj": "$var.cc40.result" + }, + "outgoing": { + "return_data": null + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -240 + } + }, + "16bc": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "ADOM exists", + "description": "ADOM exists", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "existence", + "value": true + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 144, + "y": -60 + } + } + }, + "transitions": { + "2110": { + "39d0": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "c8d5": { + "2110": { + "state": "success", + "type": "standard" + } + }, + "9a50": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "c0e5": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "39d0": { + "cc40": { + "state": "success", + "type": "standard" + } + }, + "cc40": { + "c0e5": { + "type": "standard", + "state": "error" + }, + "1b84": { + "state": "success", + "type": "standard" + } + }, + "9ac7": { + "9ad6": { + "state": "failure", + "type": "standard" + }, + "16bc": { + "state": "success", + "type": "standard" + } + }, + "9ad6": { + "0d66": { + "state": "success", + "type": "standard" + } + }, + "0d66": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "1b84": { + "9ac7": { + "state": "success", + "type": "standard" + } + }, + "16bc": { + "0d66": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "existence": { + "type": "boolean" + } + } + }, + "tags": [], + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.534Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "created": "1970-01-01T00:00:00.000Z", + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "uuid": "33ebc4db-f3d9-4774-b2ed-6a328125421a", + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 90, + "type": "workflow", + "reference": "45c0dc2d-34f0-48a3-8413-434a3e4a0c2f", + "folder": "/Check Objects Existence", + "document": { + "name": "Check Firewall Policy's existence", + "tasks": { + "2110": { + "name": "merge", + "canvasName": "merge", + "summary": "Inputs", + "description": "Merge data into a single object", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "data_to_merge": [ + { + "key": "adomName", + "value": { + "task": "job", + "variable": "adomName" + } + }, + { + "key": "policyPackageName", + "value": { + "task": "job", + "variable": "policyPackageName" + } + }, + { + "key": "policyName", + "value": { + "task": "job", + "variable": "policyName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -708 + } + }, + "8372": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Prep query to get firewall policy with name", + "description": "Prep query to get firewall policy with name", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "response.result[0].data[name=]", + "outputType": "string", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -420 + } + }, + "8646": { + "name": "stub", + "canvasName": "stub", + "summary": "Success Path", + "description": "Success Path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.c8d5.reason" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -48 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -996 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 36 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\n1. Get the list of policy package list.\n --GET: \"url\": \"/pm/config/adom//pkg//firewall/policy\"\n\n2. Query the policy package with provided name\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy2_frIAP\"\n}\n```\n", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -900 + } + }, + "c8d5": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Check Firewall Policy completed." + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -804 + } + }, + "9a50": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Failure path - Standard Output", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -348, + "y": 36 + } + }, + "c0e5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "Firewall policy does not exist", + "description": "Firewall policy does not exist", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "existence", + "value": false + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -156, + "y": -144 + } + }, + "42cd": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Get firewall policy list", + "description": "Get firewall policy list request", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.4a97.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -516 + } + }, + "a8b0": { + "name": "query", + "canvasName": "query", + "summary": "Get Firewall Policy", + "description": "Get Firewall Policy", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "$var.8372.output", + "obj": "$var.42cd.result" + }, + "outgoing": { + "return_data": null + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -324 + } + }, + "4a97": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create payload to get firewall policy list", + "description": "Create payload to get firewall policy list", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "input": "{\n \"method\": \"get\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\"\n }\n ]\n}", + "outputType": "json", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -612 + } + }, + "5dfd": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is the firewall policy existed?", + "description": "Is the firewall policy existed?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "a8b0", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": null + }, + "operator": "!=", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -228 + } + }, + "0fdb": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "description": "Failed reason: Failed to get firewall policy list.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "reason", + "value": "Failed to get firewall policy list." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -348, + "y": -516 + } + }, + "25a6": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "Firewall policy exists", + "description": "Firewall policy exists", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "name": "existence", + "value": true + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 144, + "y": -144 + } + } + }, + "transitions": { + "2110": { + "4a97": { + "state": "success", + "type": "standard" + } + }, + "8372": { + "a8b0": { + "state": "success", + "type": "standard" + } + }, + "8646": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "c8d5": { + "2110": { + "state": "success", + "type": "standard" + } + }, + "9a50": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "c0e5": { + "8646": { + "state": "success", + "type": "standard" + } + }, + "42cd": { + "8372": { + "state": "success", + "type": "standard" + }, + "0fdb": { + "type": "standard", + "state": "error" + } + }, + "a8b0": { + "5dfd": { + "state": "success", + "type": "standard" + } + }, + "4a97": { + "42cd": { + "state": "success", + "type": "standard" + } + }, + "5dfd": { + "c0e5": { + "state": "failure", + "type": "standard" + }, + "25a6": { + "state": "success", + "type": "standard" + } + }, + "0fdb": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "25a6": { + "8646": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName", + "policyPackageName", + "policyName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "existence": { + "type": "boolean" + } + } + }, + "tags": [], + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.535Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "uuid": "cf3687b7-c688-4df5-86c7-156445d78a3e", + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 91, + "type": "jsonForm", + "reference": "6870600d5e764b5fa6470d4f", + "folder": "/Check Objects Existence", + "document": { + "id": "6870600d5e764b5fa6470d4f", + "created": "2025-07-11T00:51:25.866Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.536Z", + "lastUpdatedBy": "trinh.do@itential.com", + "description": "", + "struct": { + "type": "object", + "description": "", + "items": [ + { + "nodeId": "d2f413c6-cd05-472a-b5c6-43851b8df0c0", + "type": "string", + "title": "ADOM", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "customKey": "adomName", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "href": "/postJsonrpc", + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name" + }, + { + "nodeId": "bd21eaf5-5b60-4588-a3e4-5b16e1e8d0ff", + "type": "string", + "title": "Policy Package", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "policyPackageName" + }, + { + "nodeId": "9ce68b65-4c04-4337-90e6-2f3504df382a", + "type": "string", + "title": "Firewall Policy", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "policyName" + } + ] + }, + "schema": { + "title": "Create Firewall Policy", + "description": "", + "type": "object", + "required": [], + "properties": { + "adomName": { + "type": "string", + "title": "ADOM", + "_id": "/properties/adomName", + "description": "", + "enum": [], + "enumNames": [] + }, + "policyPackageName": { + "type": "string", + "title": "Policy Package", + "_id": "/properties/policyPackageName", + "description": "" + }, + "policyName": { + "type": "string", + "title": "Firewall Policy", + "_id": "/properties/policyName", + "description": "" + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Select an item" + }, + "policyPackageName": { + "ui:placeholder": "Enter text" + }, + "policyName": { + "ui:placeholder": "Enter text" + } + }, + "bindingSchema": { + "properties": { + "adomName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/postJsonrpc", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1", + "name": "Check Firewall Policy" + } + }, + { + "iid": 92, + "type": "jsonForm", + "reference": "6870600d5e764b5fa6470d50", + "folder": "/Check Objects Existence", + "document": { + "id": "6870600d5e764b5fa6470d50", + "created": "2025-07-11T00:51:25.866Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.571Z", + "lastUpdatedBy": "trinh.do@itential.com", + "description": "", + "struct": { + "type": "object", + "description": "", + "items": [ + { + "nodeId": "d2f413c6-cd05-472a-b5c6-43851b8df0c0", + "type": "string", + "title": "ADOM", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "customKey": "adomName", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "href": "/postJsonrpc", + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name" + }, + { + "nodeId": "bd21eaf5-5b60-4588-a3e4-5b16e1e8d0ff", + "type": "string", + "title": "Policy Package", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "policyPackageName" + } + ] + }, + "schema": { + "title": "Read Policy Package", + "description": "", + "type": "object", + "required": [], + "properties": { + "adomName": { + "type": "string", + "title": "ADOM", + "_id": "/properties/adomName", + "description": "", + "enum": [], + "enumNames": [] + }, + "policyPackageName": { + "type": "string", + "title": "Policy Package", + "_id": "/properties/policyPackageName", + "description": "" + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Select an item" + }, + "policyPackageName": { + "ui:placeholder": "Enter text" + } + }, + "bindingSchema": { + "properties": { + "adomName": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/postJsonrpc", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1", + "name": "Check Policy Package" + } + }, + { + "iid": 93, + "type": "jsonForm", + "reference": "6870600d5e764b5fa6470d51", + "folder": "/Check Objects Existence", + "document": { + "id": "6870600d5e764b5fa6470d51", + "created": "2025-07-11T00:51:25.866Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-15T15:48:57.572Z", + "lastUpdatedBy": "trinh.do@itential.com", + "description": "", + "struct": { + "type": "object", + "description": "", + "items": [ + { + "nodeId": "f670a4b8-ebd2-48eb-ae0e-3700533fb804", + "type": "string", + "title": "ADOM", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default", + "customKey": "adomName" + } + ] + }, + "schema": { + "title": "Check Adom", + "description": "", + "type": "object", + "required": [], + "properties": { + "adomName": { + "type": "string", + "title": "ADOM", + "_id": "/properties/adomName", + "description": "" + } + } + }, + "uiSchema": { + "adomName": { + "ui:placeholder": "Enter text" + } + }, + "bindingSchema": {}, + "validationSchema": {}, + "version": "2020.1", + "name": "Check Adom" + } + }, + { + "iid": 94, + "type": "workflow", + "reference": "9cdc696a-0869-4e69-a246-3818ede2d343", + "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "document": { + "tags": [], + "name": "Create Firewall Policy", + "tasks": { + "9104": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "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": "reason", + "value": "Failed to create firewall policy." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -300, + "y": 168 + } + }, + "9955": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Create Firewall Policy", + "description": "This is a generic json rpc api request", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.fa35.requestBody", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -12 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -384 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 360 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\n1. Create firewall policy:\n --ADD: \"url\": \"/pm/config/adom//pkg//firewall/policy\"\n\"data\": [\n ]\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"firewallDataObj\": {\n \"name\": \"FirewallPolicyName\",\n \"status\": 1,\n \"srcintf\": [\n \"any\"\n ],\n \"dstintf\": [\n \"any\"\n ],\n \"ztna-status\": 0,\n \"srcaddr-negate\": 0,\n \"internet-service-src-negate\": 0,\n \"internet-service-src\": 0,\n \"dstaddr-negate\": 0,\n \"internet-service-negate\": 0,\n \"internet-service\": 0,\n \"service\": [\n \"ALL\"\n ],\n \"schedule\": [\n \"always\"\n ],\n \"http-policy-redirect\": 0,\n \"fixedport\": 0,\n \"profile-protocol-options\": [\n \"default\"\n ],\n \"inbound\": 0,\n \"disclaimer\": 0,\n \"block-notification\": 0,\n \"utm-status\": 0,\n \"ssl-ssh-profile\": [\n \"no-inspection\"\n ],\n \"logtraffic-start\": 0,\n \"capture-packet\": 0,\n \"wccp\": 0,\n \"captive-portal-exempt\": 0,\n \"action\": 0,\n \"anti-replay\": 1,\n \"auth-path\": 0,\n \"auto-asic-offload\": 1,\n \"cgn-eif\": 0,\n \"cgn-eim\": 0,\n \"cgn-resource-quota\": 16,\n \"cgn-session-quota\": 16777215,\n \"delay-tcp-npu-session\": 0,\n \"diffserv-copy\": 0,\n \"diffserv-forward\": 0,\n \"diffserv-reverse\": 0,\n \"diffservcode-forward\": \"000000\",\n \"diffservcode-rev\": \"000000\",\n \"dsri\": 0,\n \"dstaddr6-negate\": 0,\n \"dynamic-shaping\": 0,\n \"email-collect\": 0,\n \"fec\": 0,\n \"firewall-session-dirty\": 0,\n \"geoip-anycast\": 0,\n \"geoip-match\": 0,\n \"inspection-mode\": 1,\n \"internet-service6\": 0,\n \"internet-service6-negate\": 0,\n \"internet-service6-src\": 0,\n \"internet-service6-src-negate\": 0,\n \"ip-version-type\": \"ipv4\",\n \"ippool\": 0,\n \"logtraffic\": 2,\n \"match-vip\": 1,\n \"match-vip-only\": 0,\n \"nat\": 0,\n \"nat46\": 0,\n \"nat64\": 0,\n \"natinbound\": 0,\n \"natip\": [\n \"0.0.0.0\",\n \"0.0.0.0\"\n ],\n \"natoutbound\": 0,\n \"np-acceleration\": 1,\n \"ntlm\": 0,\n \"ntlm-guest\": 0,\n \"outbound\": 1,\n \"passive-wan-health-measurement\": 0,\n \"permit-any-host\": 0,\n \"permit-stun-host\": 0,\n \"policy-behaviour-type\": \"standard\",\n \"policy-expiry\": 0,\n \"policy-expiry-date\": \"0000-00-00 00:00:00\",\n \"policy-offload\": 1,\n \"policyid\": 0,\n \"profile-type\": 0,\n \"radius-mac-auth-bypass\": 0,\n \"reputation-direction\": 2,\n \"reputation-direction6\": 42,\n \"reputation-minimum\": 0,\n \"rtp-nat\": 0,\n \"schedule-timeout\": 0,\n \"send-deny-packet\": 0,\n \"service-negate\": 0,\n \"session-ttl\": \"0\",\n \"sgt-check\": 0,\n \"srcaddr6-negate\": 0,\n \"ssh-policy-redirect\": 0,\n \"tcp-mss-receiver\": 0,\n \"tcp-mss-sender\": 0,\n \"tcp-session-without-syn\": 2,\n \"timeout-send-rst\": 0,\n \"tos\": \"0x00\",\n \"tos-mask\": \"0x00\",\n \"tos-negate\": 0,\n \"uuid\": \"00000000-0000-0000-0000-000000000000\",\n \"vlan-cos-fwd\": 255,\n \"vlan-cos-rev\": 255,\n \"wanopt\": 0,\n \"wanopt-detection\": 1,\n \"wanopt-passive-opt\": 0,\n \"webcache\": 0,\n \"webcache-https\": 0,\n \"ztna-device-ownership\": 0,\n \"ztna-policy-redirect\": 0,\n \"ztna-tags-match-logic\": 0,\n \"ztna-ems-tag\": null,\n \"srcaddr\": [\n \"all\"\n ],\n \"srcaddr6\": null,\n \"internet-service-src-name\": null,\n \"internet-service-src-custom\": null,\n \"internet-service-src-group\": null,\n \"internet-service-src-custom-group\": null,\n \"fsso-groups\": null,\n \"users\": null,\n \"groups\": null,\n \"dstaddr\": [\n \"all\"\n ],\n \"dstaddr6\": null,\n \"internet-service-name\": null,\n \"internet-service-custom\": null,\n \"internet-service-group\": null,\n \"internet-service-custom-group\": null,\n \"profile-group\": null\n }\n}\n```\n", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -288 + } + }, + "c8d5": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Standard Output", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": true, + "reason": "Create Firewall Policy completed." + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -204 + } + }, + "9a50": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Failure path", + "description": "Standard output for workflows.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "683ff697a3e4e1e6bbb279ca", + "variableMap": { + "success": false, + "reason": "$var.job.reason" + }, + "options": { + "extractOutput": true, + "revertToDefaultValue": true, + "validateIncoming": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -300, + "y": 360 + } + }, + "c0e5": { + "name": "newVariable", + "canvasName": "newVariable", + "summary": "reason", + "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": "reason", + "value": "Failed to create firewall policy." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -300, + "y": -12 + } + }, + "fa35": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Create Firewall Policy Payload", + "description": "Perform a JSON Transformation using the JST library.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "6871852a8e7d039ccf794785", + "variableMap": { + "policyPackageName": "$var.job.policyPackageName", + "adomName": "$var.job.adomName", + "fwObj": "$var.job.firewallDataObj" + }, + "options": { + "extractOutput": true, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "requestBody": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -108 + } + }, + "4d29": { + "name": "query", + "canvasName": "query", + "summary": "Query request's response", + "description": "Query request's response", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "pass_on_null": false, + "query": "response.result[0].status.code", + "obj": "$var.9955.result" + }, + "outgoing": { + "return_data": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 72 + } + }, + "887b": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is the request success?", + "description": "Is the request success?", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "all_true_flag": false, + "evaluation_groups": [ + { + "all_true_flag": false, + "evaluations": [ + { + "operand_1": { + "task": "4d29", + "variable": "return_data" + }, + "operand_2": { + "task": "static", + "variable": 0 + }, + "operator": "==", + "query": "", + "rightQuery": "" + } + ] + } + ] + }, + "outgoing": { + "return_value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 168 + } + }, + "6fa2": { + "name": "stub", + "canvasName": "stub", + "summary": "Success Path", + "description": "Success Path", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", + "variables": { + "incoming": { + "type": "success", + "delay": "", + "response": "$var.c8d5.reason" + }, + "outgoing": { + "response": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 258 + } + } + }, + "transitions": { + "9104": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "9955": { + "c0e5": { + "type": "standard", + "state": "error" + }, + "4d29": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "c8d5": { + "fa35": { + "state": "success", + "type": "standard" + } + }, + "9a50": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "c0e5": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "fa35": { + "9955": { + "state": "success", + "type": "standard" + } + }, + "4d29": { + "887b": { + "state": "success", + "type": "standard" + } + }, + "887b": { + "9104": { + "state": "failure", + "type": "standard" + }, + "6fa2": { + "state": "success", + "type": "standard" + } + }, + "6fa2": { + "workflow_end": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "policyPackageName": { + "type": "string", + "examples": [ + "dsfdsfsdf" + ] + }, + "adomName": { + "type": "string", + "examples": [ + "dsasdasd" + ] + }, + "firewallDataObj": { + "type": "object", + "properties": {}, + "required": [] + } + }, + "required": [ + "policyPackageName", + "adomName", + "firewallDataObj" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "policyPackageName": { + "type": "string", + "examples": [ + "dsfdsfsdf" + ] + }, + "adomName": { + "type": "string", + "examples": [ + "dsasdasd" + ] + }, + "firewallDataObj": { + "type": "object", + "properties": {}, + "required": [] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-15T15:48:57.573Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "last_updated_by": { + "provenance": "CloudAAA", + "username": "trinh.do@itential.com", + "firstname": "trinh", + "inactive": false + }, + "created": "1970-01-01T00:00:00.000Z", + "uuid": "ee1e2fe1-e425-4bb1-9ffd-ea9a0168a42c", + "groups": [], + "migrationVersion": 5 + } + }, + { + "iid": 95, + "type": "transformation", + "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "reference": "6871852a8e7d039ccf794785", + "document": { + "_id": "6871852a8e7d039ccf794785", + "name": "Create Firewall Policy Payload", + "description": "", + "incoming": [ + { + "$id": "policyPackageName", + "type": "string", + "examples": [ + "dsfdsfsdf" + ] + }, + { + "$id": "adomName", + "type": "string", + "examples": [ + "dsasdasd" + ] + }, + { + "$id": "fwObj", + "type": "object", + "properties": {}, + "required": [] + } + ], + "outgoing": [ + { + "$id": "requestBody", + "type": "object", + "properties": {}, + "required": [] + } + ], + "steps": [ + { + "id": 1, + "type": "declaration", + "library": "Object", + "method": "new Object", + "args": [ + null + ], + "view": { + "row": 1, + "col": 1 + }, + "context": "#" + }, + { + "id": 2, + "type": "method", + "library": "Object", + "method": "setProperty", + "args": [ + null, + "method", + "add" + ], + "view": { + "row": 1, + "col": 2 + }, + "context": "#" + }, + { + "id": 3, + "type": "assign", + "from": { + "location": "declaration", + "name": 1, + "ptr": "/return" + }, + "to": { + "location": "method", + "name": 2, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 4, + "type": "method", + "library": "Object", + "method": "setProperty", + "args": [ + null, + "params", + null + ], + "view": { + "row": 1, + "col": 3 + }, + "context": "#" + }, + { + "id": 5, + "type": "assign", + "from": { + "location": "method", + "name": 2, + "ptr": "/return" + }, + "to": { + "location": "method", + "name": 4, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 6, + "type": "declaration", + "library": "Object", + "method": "new Object", + "args": [ + null + ], + "view": { + "row": 2, + "col": 1 + }, + "context": "#" + }, + { + "id": 7, + "type": "method", + "library": "Object", + "method": "setProperty", + "args": [ + null, + "url", + null + ], + "view": { + "row": 2, + "col": 2 + }, + "context": "#" + }, + { + "id": 8, + "type": "assign", + "from": { + "location": "declaration", + "name": 6, + "ptr": "/return" + }, + "to": { + "location": "method", + "name": 7, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 9, + "type": "method", + "library": "String", + "method": "concat", + "args": [ + "/pm/config/adom/", + null, + "/pkg/", + null, + "/firewall/policy" + ], + "view": { + "row": 3, + "col": 1 + }, + "context": "#" + }, + { + "id": 10, + "type": "assign", + "from": { + "location": "incoming", + "name": "adomName", + "ptr": "" + }, + "to": { + "location": "method", + "name": 9, + "ptr": "/args/1/value" + }, + "context": "#" + }, + { + "id": 11, + "type": "assign", + "from": { + "location": "incoming", + "name": "policyPackageName", + "ptr": "" + }, + "to": { + "location": "method", + "name": 9, + "ptr": "/args/3/value" + }, + "context": "#" + }, + { + "id": 12, + "type": "assign", + "from": { + "location": "method", + "name": 9, + "ptr": "/return" + }, + "to": { + "location": "method", + "name": 7, + "ptr": "/args/2/value" + }, + "context": "#" + }, + { + "id": 13, + "type": "method", + "library": "Object", + "method": "setProperty", + "args": [ + null, + "data", + null + ], + "view": { + "row": 2, + "col": 3 + }, + "context": "#" + }, + { + "id": 14, + "type": "assign", + "from": { + "location": "method", + "name": 7, + "ptr": "/return" + }, + "to": { + "location": "method", + "name": 13, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 16, + "type": "declaration", + "library": "Array", + "method": "new Array", + "args": [ + null + ], + "view": { + "row": 3, + "col": 3 + }, + "context": "#", + "polymorphIndex": 0 + }, + { + "id": 17, + "type": "assign", + "from": { + "location": "incoming", + "name": "fwObj", + "ptr": "" + }, + "to": { + "location": "declaration", + "name": 16, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 18, + "type": "assign", + "from": { + "location": "declaration", + "name": 16, + "ptr": "/return" + }, + "to": { + "location": "method", + "name": 13, + "ptr": "/args/2/value" + }, + "context": "#" + }, + { + "id": 19, + "type": "declaration", + "library": "Array", + "method": "new Array", + "args": [ + null + ], + "view": { + "row": 2, + "col": 4 + }, + "context": "#", + "polymorphIndex": 0 + }, + { + "id": 20, + "type": "assign", + "from": { + "location": "method", + "name": 13, + "ptr": "/return" + }, + "to": { + "location": "declaration", + "name": 19, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 21, + "type": "assign", + "from": { + "location": "declaration", + "name": 19, + "ptr": "/return" + }, + "to": { + "location": "method", + "name": 4, + "ptr": "/args/2/value" + }, + "context": "#" + }, + { + "id": 22, + "type": "assign", + "from": { + "location": "method", + "name": 4, + "ptr": "/return" + }, + "to": { + "location": "outgoing", + "name": "requestBody", + "ptr": "" + }, + "context": "#" + } + ], + "functions": [], + "comments": [], + "view": { + "col": 5, + "row": 5 + }, + "created": "2025-07-11T21:42:02.066Z", + "createdBy": { + "_id": "67d9adba294dc79a78c56bec", + "provenance": "CloudAAA", + "username": "trinh.do@itential.com" + }, + "lastUpdated": "2025-07-15T15:48:57.574Z", + "lastUpdatedBy": { + "_id": "67d9adba294dc79a78c56bec", + "provenance": "CloudAAA", + "username": "trinh.do@itential.com" + }, + "version": "4.3.6-2023.2.12", + "tags": [] + } + } + ], + "folders": [ + { + "nodeType": "folder", + "name": "Create Objects (Adom, Policy Pkg, Policy)", + "children": [ + { + "iid": 58, + "nodeType": "component" + }, + { + "iid": 70, + "nodeType": "component" + }, + { + "iid": 57, + "nodeType": "component" + }, + { + "iid": 83, + "nodeType": "component" + }, + { + "iid": 94, + "nodeType": "component" + }, + { + "iid": 95, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Read Objects", + "children": [ + { + "iid": 78, + "nodeType": "component" + }, + { + "iid": 87, + "nodeType": "component" + }, + { + "iid": 75, + "nodeType": "component" + }, + { + "iid": 85, + "nodeType": "component" + }, + { + "iid": 65, + "nodeType": "component" + }, + { + "iid": 86, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Check Objects Existence", + "children": [ + { + "iid": 89, + "nodeType": "component" + }, + { + "iid": 93, + "nodeType": "component" + }, + { + "iid": 90, + "nodeType": "component" + }, + { + "iid": 91, + "nodeType": "component" + }, + { + "iid": 88, + "nodeType": "component" + }, + { + "iid": 92, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Update Objects", + "children": [ + { + "iid": 76, + "nodeType": "component" + }, + { + "iid": 82, + "nodeType": "component" + }, + { + "iid": 55, + "nodeType": "component" + }, + { + "iid": 74, + "nodeType": "component" + }, + { + "iid": 68, + "nodeType": "component" + }, + { + "iid": 67, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Delete Objects", + "children": [ + { + "iid": 50, + "nodeType": "component" + }, + { + "iid": 63, + "nodeType": "component" + }, + { + "iid": 52, + "nodeType": "component" + }, + { + "iid": 62, + "nodeType": "component" + }, + { + "iid": 53, + "nodeType": "component" + }, + { + "iid": 64, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Shared Components", + "children": [ + { + "iid": 42, + "nodeType": "component" + } + ] + } + ], + "created": "2025-04-24T16:30:18.005Z", + "createdBy": { + "_id": "67b79a251359a3d6dc3e749a", + "provenance": "local_aaa", + "username": "admin@pronghorn" + }, + "lastUpdated": "2025-07-24T16:18:57.816Z", + "lastUpdatedBy": { + "_id": "67d9adba294dc79a78c56bec", + "provenance": "CloudAAA", + "username": "trinh.do@itential.com" + }, + "versionHistory": [ + { + "versionNumber": 8, + "commitMessage": "Clean up", + "author": "trinh", + "branchName": "main" + }, + { + "versionNumber": 7, + "commitMessage": "latest", + "author": "trinh", + "branchName": "main" + }, + { + "versionNumber": 6, + "commitMessage": "update to latest", + "author": "trinh", + "branchName": "main" + }, + { + "versionNumber": 5, + "commitMessage": "Complete all tasks", + "author": "trinh", + "branchName": "main" + }, + { + "versionNumber": 4, + "commitMessage": "Update with read object functions", + "author": "trinh", + "branchName": "main" + }, + { + "versionNumber": 3, + "commitMessage": "to the latest", + "author": "trinh", + "branchName": "main" + }, + { + "versionNumber": 2, + "commitMessage": "moved task to test", + "author": "Loan", + "branchName": "devel" + }, + { + "versionNumber": 1, + "commitMessage": "init", + "author": "Loan", + "branchName": "psup-2352" + } + ], + "iid": 149, + "thumbnail": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB9AAAAInCAYAAADAl8J/AAAACXBIWXMAACYkAAAmJAEXHYbWAAAEzmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI1LTA3LTI0PC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjk1ZjYyODA1LWExMTUtNDgwMC04ZjVhLWNkZjg1YTA5YzdlZjwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5Gb3J0aW5ldC1sb2dvLXJnYi1ibGFjay1yZWQuYWkgLSAxPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+Cgog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", + "backgroundColor": "#FFFFFF" +} diff --git a/FortiManager/README.md b/FortiManager/README.md new file mode 100644 index 0000000..1809e81 --- /dev/null +++ b/FortiManager/README.md @@ -0,0 +1,282 @@ + +# FortiManager + + + + +## Table of Contents + + + + + + +## Overview + + + +## Project Contents +The tree below outlines the structure of the project: +``` +┐ +└── FortiManager + ├── Delete Objects + │ ├── Delete Firewall Policy (Workflow) + │ ├── Delete Policy Package (Workflow) + │ ├── Delete Adom (Workflow) + │ ├── Delete Policy Package (Json Form) + │ ├── Delete FW Policy (Json Form) + │ └── Delete Adom (Json Form) + ├── Update Objects + │ ├── Update Firewall Policy (Workflow) + │ ├── Update Adom (Workflow) + │ ├── Update Policy Package (Workflow) + │ ├── Update Adom with new device and description (Json Form) + │ ├── Update Firewall Policy's comment (Json Form) + │ └── Update Policy Package with policy offload level (Json Form) + ├── Create Objects (Adom, Policy Pkg, Policy) + │ ├── Create Adom (Workflow) + │ ├── Create Policy Package (Workflow) + │ ├── Create Firewall Policy (Workflow) + │ ├── Create Firewall Policy Payload (Transformation) + │ ├── Create Policy Package (Json Form) + │ └── Create Adom (Json Form) + ├── Read Objects + │ ├── Read Policy Package (Workflow) + │ ├── Read Firewall Policy (Workflow) + │ ├── Read ADOM (Workflow) + │ ├── Read Firewall Policy (Json Form) + │ ├── Read Policy Package (Json Form) + │ └── Read Adom (Json Form) + ├── Check Objects Existence + │ ├── Check Policy Package's existence (Workflow) + │ ├── Check ADOM's existence (Workflow) + │ ├── Check Firewall Policy's existence (Workflow) + │ ├── Check Firewall Policy (Json Form) + │ ├── Check Policy Package (Json Form) + │ └── Check Adom (Json Form) + └── Shared Components + └── Standard Output (Transformation) +``` + + + + + +## Adapters and Integrations +The table below outlines all the adapter and integration dependencies of this project: + + + + + + + + + + + + + +
NameVersion
FortiManager
+ +## Platform Assets +### Workflows + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
Create Adom This workflow creates a new Adom using the provided Adom name as input.
Create Policy Package This workflow creates a new Policy Package using the provided Policy Package name and Adom name as inputs.
Create Firewall Policy This workflow creates a new Firewall Policy using the provided Firewall Policy Object, Policy Package name and Adom name as inputs.
Read ADOM This workflow retrieves the full data object of the specified Adom. Input: Adom name.
Read Policy Package This workflow retrieves the full data object of a specified Policy Package within a given Adom. Inputs: Adom name and Policy Package name.
Read Firewall Policy This workflow retrieves the full data object of a specified Firewall Policy. Inputs: Adom name, Policy Package name, and Firewall Policy name.
Check ADOM's existence This workflow checks whether the specified Adom exists. It returns true if found, otherwise false. Input: Adom name.
Check Policy Package's existence This workflow verifies the existence of a specified Policy Package within a given Adom. It returns true if found, otherwise false. Inputs: Adom name and Policy Package name.
Check Firewall Policy's existence This workflow checks whether a specified Firewall Policy exists within a Policy Package and Adom. It returns true if the policy is found, otherwise false. Inputs: Adom name, Policy Package name, and Firewall Policy name.
Update Adom This workflow updates the specified ADOM by adding a device to it and setting a description. It uses the following inputs: Adom name, Device name, and Description.
Update Policy Package This workflow updates the policy offload level of the specified policy package. It uses the following inputs: Adom name, Policy Package name, and Policy Offload Level.
Update Firewall Policy This workflow updates the specified firewall policy's comment using provided inputs: Adom name, Policy Package name, Firewall Policy, and Comment.
Delete Adom This workflow deletes a specific Adom by taking one required parameter: the Adom name.
Delete Policy Package This workflow deletes a specific policy package by taking two required parameters: the Adom name, policy package name.
Delete Firewall Policy This workflow deletes a specific firewall policy by taking three required parameters: the Adom name, policy package name, and firewall policy name.
+ +### Transformations + + + + + + + + + + + + + + + + + +
NameDescription
Create Firewall Policy Payload This JST prepares the request payload required to create a new firewall policy.
Standard Output This JST provides a standardized success or failure message for workflows. In the event of failure, it outputs a failed reason; on success, it confirms completion.
+ +### JSON Forms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
Delete Policy Package
Delete FW Policy
Delete Adom
Update Adom with new device and description
Update Firewall Policy's comment
Update Policy Package with policy offload level
Create Policy Package
Create Adom
Read Firewall Policy
Read Policy Package
Read Adom
Check Firewall Policy
Check Policy Package
Check Adom
diff --git a/FortiManager/powered-by-itential.png b/FortiManager/powered-by-itential.png new file mode 100644 index 0000000..12ad348 Binary files /dev/null and b/FortiManager/powered-by-itential.png differ