From 5c5c411191536d0ddccae8998001169a8a5ab187 Mon Sep 17 00:00:00 2001 From: lhuynh-itential <101599286+lhuynh-itential@users.noreply.github.com> Date: Fri, 13 Jun 2025 17:28:08 +0000 Subject: [PATCH 01/15] added FortiManager folder --- FortiManager/Projects/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FortiManager/Projects/.gitkeep diff --git a/FortiManager/Projects/.gitkeep b/FortiManager/Projects/.gitkeep new file mode 100644 index 0000000..e69de29 From a79cbc7cf87b734ac3e2e72d0ca1ef649d9fcc9c Mon Sep 17 00:00:00 2001 From: lhuynh-itential <101599286+lhuynh-itential@users.noreply.github.com> Date: Fri, 13 Jun 2025 13:29:30 -0400 Subject: [PATCH 02/15] Initialized project "FortiManager" in remote repository "lhuynh-itential/assets" --- FortiManager/projects/fortimanager.project.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 FortiManager/projects/fortimanager.project.json diff --git a/FortiManager/projects/fortimanager.project.json b/FortiManager/projects/fortimanager.project.json new file mode 100644 index 0000000..a1648b9 --- /dev/null +++ b/FortiManager/projects/fortimanager.project.json @@ -0,0 +1 @@ +{"_id":"680a671a3e055752b7abb534","name":"FortiManager","description":"","components":[{"iid":38,"reference":"0595c6a2-66c7-421c-8833-d99858c7e814","type":"workflow","folder":"/ForTesting","document":{"name":"fm_testFortiManager","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-684}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-300}},"cf92":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"List policy packages","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg/adom/root"}]},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-552}}},"transitions":{"workflow_start":{"cf92":{"state":"success","type":"standard"}},"workflow_end":{},"cf92":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-10T19:45:37.196Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"5.55.5","created":"2025-04-25T21:21:59.418Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":39,"reference":"26f50885-c3dd-4ac9-87b2-f5521085460b","type":"workflow","folder":"/ForTesting","document":{"name":"fm_testFortiManager2","tasks":{"4045":{"name":"genericAdapterRequest","canvasName":"genericAdapterRequest","summary":"Makes the requested generic call","description":"Makes the requested generic call","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"uriPath":"/jsonrpc","restMethod":"POST","queryData":"","requestBody":{"method":"get","params":[{"url":"/pm/config/adom/adom/pkg/{{policy-package}}/firewall/policy","fields":["obj seq","status","policyid","srcintf","dstintf","srcaddr","dstaddr","action","schedule","service","users","logtraffic","nat","name","comments","extra info"]}],"session":"{{fmg-session}}","verbose":1,"id":1},"addlHeaders":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-138}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-684}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":12}},"a309":{"name":"getFirewallPolicyPackage","canvasName":"getFirewallPolicyPackage","summary":"Get FW Policy Packages","description":"call to get firewall policy package","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"root","packid":"5964","policy":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-288}},"cf92":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"List policy packages","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg"}],"verbose":1,"id":1},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-552}},"c5c6":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Get the \"default\" policy package","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg/adom/default"}],"verbose":1,"id":1},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-420}}},"transitions":{"4045":{"workflow_end":{"state":"success","type":"standard"}},"workflow_start":{"cf92":{"state":"success","type":"standard"}},"workflow_end":{},"a309":{"4045":{"state":"success","type":"standard"}},"cf92":{"c5c6":{"state":"success","type":"standard"}},"c5c6":{"a309":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"lastUpdatedVersion":"4.69.69","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","last_updated":"2025-06-10T14:42:25.096Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"2025-05-06T13:59:07.934Z","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":40,"reference":"8e33a0dd-8192-4643-8a48-f73a17a5fd45","type":"workflow","folder":"/ForTesting","document":{"name":"lhTest_FortiManager","tasks":{"6437":{"name":"getScripts","canvasName":"getScripts","summary":"call to get Scripts","description":"call to get Scripts","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"script":"","expandMember":"","fields":"","filter":"","loadSub":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-12,"y":-60}},"workflow_start":{"name":"workflow_start","groups":[],"nodeLocation":{"x":96,"y":-432},"x":0,"y":0.5},"workflow_end":{"name":"workflow_end","groups":[],"nodeLocation":{"x":96,"y":204},"x":1,"y":0.5},"0385":{"name":"getFirewallPolicyPackage","canvasName":"getFirewallPolicyPackage","summary":"call to get firewall policy package","description":"call to get firewall policy package","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-300,"y":-60}},"88ab":{"name":"getDevices","canvasName":"getDevices","summary":"call to get Devices","description":"call to get Devices","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"device":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":276,"y":-60}},"86b5":{"name":"getDeviceInterfaces","canvasName":"getDeviceInterfaces","summary":"call to get device interfaces","description":"call to get device interfaces","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"device":"FGVM02TM24012094","vdomid":"","iface":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":564,"y":-60}},"e974":{"name":"getAdoms","canvasName":"getAdoms","summary":"call to get ADOMs","description":"call to get ADOMs","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":504,"y":-264}},"12c4":{"name":"getAdomScripts","canvasName":"getAdomScripts","summary":"call to get ADOM Scripts","description":"call to get ADOM Scripts","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"FortiFirewall","script":"","expandMember":"","fields":"","filter":"","loadSub":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-216,"y":-276}},"10c7":{"name":"getFirewallAddresses","canvasName":"getFirewallAddresses","summary":"call to get firewall addresses","description":"call to get firewall addresses","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"","address":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":120,"y":-228}},"00b3":{"name":"getAdomDevices","canvasName":"getAdomDevices","summary":"call to get ADOM Devices","description":"call to get ADOM Devices","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"FortiFirewall","device":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-312,"y":120}},"a646":{"name":"iapExpandedGenericAdapterRequest","canvasName":"iapExpandedGenericAdapterRequest","summary":"Makes the requested generic call with additional options","description":"Makes the requested generic call with additional options via metadata","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"metadata":"","uriPath":"/","restMethod":"POST","pathVars":"","queryData":"","requestBody":{"method":"get","params":[{"url":"/pm/pkg/adom/FortiFirewall"}],"verbose":1,"id":1},"addlHeaders":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":516,"y":132}}},"transitions":{"6437":{"workflow_end":{"state":"success","type":"standard"}},"workflow_start":{"6437":{"state":"success","type":"standard"},"0385":{"state":"success","type":"standard"},"88ab":{"state":"success","type":"standard"},"86b5":{"state":"success","type":"standard"},"e974":{"state":"success","type":"standard"},"12c4":{"state":"success","type":"standard"},"10c7":{"state":"success","type":"standard"},"00b3":{"state":"success","type":"standard"},"a646":{"state":"success","type":"standard"}},"workflow_end":{},"0385":{"workflow_end":{"state":"success","type":"standard"}},"88ab":{"workflow_end":{"state":"success","type":"standard"}},"86b5":{"workflow_end":{"state":"success","type":"standard"}},"e974":{"workflow_end":{"state":"success","type":"standard"}},"12c4":{"workflow_end":{"state":"success","type":"standard"}},"10c7":{"workflow_end":{"state":"success","type":"standard"}},"00b3":{"workflow_end":{"state":"success","type":"standard"}},"a646":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"errorHandler":null,"preAutomationTime":0,"sla":0,"lastUpdatedVersion":"5.55.5","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","last_updated":"2025-06-10T14:42:25.095Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"2025-05-08T07:43:22.575Z","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":45,"reference":"1fef4390-ff81-4adf-b71b-0961bde8c96c","type":"workflow","folder":"/","document":{"name":"FortiManager_main_createFW","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-500}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-84}},"81cd":{"name":"childJob","canvasName":"childJob","summary":"Run Create FW Child Job","description":"Runs a child job inside a workflow.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"task":"","workflow":"@680a671a3e055752b7abb534: Create Firewall Policy","variables":{"adomName":{"task":"static","value":"root"},"policyPackageName":{"task":"static","value":"lhTest_policy-package"},"policyName":{"task":"static","value":"lhTest_policy3_frIAP"}},"data_array":"","transformation":"","loopType":""},"outgoing":{"job_details":""}},"actor":"job","groups":[],"nodeLocation":{"x":0,"y":-300}}},"transitions":{"workflow_start":{"81cd":{"state":"success","type":"standard"}},"workflow_end":{},"81cd":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-10T14:42:25.099Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":46,"reference":"3e1e5d6f-5f4e-4560-b020-b00b5858ca99","type":"workflow","folder":"/","document":{"name":"FortiManager_main_updateFW","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-500}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-84}},"81cd":{"name":"childJob","canvasName":"childJob","summary":"Run Update FW Child Job","description":"Runs a child job inside a workflow.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"task":"","workflow":"@680a671a3e055752b7abb534: Update Firewall Policy","variables":{"adomName":{"task":"static","value":"root"},"policyPackageName":{"task":"static","value":"lhTest_policy-package"},"policyName":{"task":"static","value":"lhTest_policy2_frIAP"}},"data_array":"","transformation":"","loopType":""},"outgoing":{"job_details":""}},"actor":"job","groups":[],"nodeLocation":{"x":0,"y":-300}}},"transitions":{"workflow_start":{"81cd":{"state":"success","type":"standard"}},"workflow_end":{},"81cd":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-10T14:42:25.099Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"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":-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 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":-588}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-1212}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-168}},"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/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":-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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}},"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":-1104}},"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":-888}},"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":-696}},"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":-792}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"c5b1":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"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"}},"4e49":{"8640":{"state":"success","type":"standard"}},"30ef":{"4e49":{"state":"success","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-06-13T15:32:26.148Z","last_updated_by":{"provenance":"okta","username":"trinh.do@itential.com","firstname":"Trinh","inactive":false,"sso":true,"nameID":"trinh.do@itential.com"},"lastUpdatedVersion":"5.55.5","created":"2025-06-05T21:04:01.032Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":41,"reference":"683f2241a3e4e1e6bbb279c9","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"683f2241a3e4e1e6bbb279c9","name":"Prepare Create Firewall Policy Payload","description":"","incoming":[{"$id":"FWPolicyPayload","type":"object","properties":{"id":{"type":"integer","examples":[1]},"method":{"type":"string","examples":["add"]},"params":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","examples":["/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","examples":["lhTest_policy1_frIAP"]},"srcintf":{"type":"array","items":{"type":"string","examples":["any"]}},"dstintf":{"type":"array","items":{"type":"string","examples":["any"]}},"srcaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"dstaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"action":{"type":"string","examples":["accept"]},"schedule":{"type":"array","items":{"type":"string","examples":["always"]}},"service":{"type":"array","items":{"type":"string","examples":["ALL"]}},"status":{"type":"string","examples":["enable"]},"logtraffic":{"type":"string","examples":["all"]}},"required":[]}}},"required":[]}}},"required":[]},{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]},{"$id":"policyName","type":"string","examples":["lhTest_policy2_frIAP"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"name\": \"${policy_name}\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","args":[null,null,null],"view":{"row":2,"col":2},"context":"#"},{"id":11,"type":"assign","from":{"location":"incoming","name":"policyName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/2/value"},"context":"#"},{"id":12,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-05T21:34:41.634Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-10T14:42:25.101Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"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-05T21:34:41.638Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-10T14:42:25.101Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":44,"reference":"6840008662116438683f993c","type":"transformation","folder":"/Update Firewall Policy","document":{"_id":"6840008662116438683f993c","name":"Prepare Update Firewall Policy Payload","description":"","incoming":[{"$id":"FWPolicyPayload","type":"object","properties":{"id":{"type":"integer","examples":[1]},"method":{"type":"string","examples":["add"]},"params":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","examples":["/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","examples":["lhTest_policy1_frIAP"]},"srcintf":{"type":"array","items":{"type":"string","examples":["any"]}},"dstintf":{"type":"array","items":{"type":"string","examples":["any"]}},"srcaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"dstaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"action":{"type":"string","examples":["accept"]},"schedule":{"type":"array","items":{"type":"string","examples":["always"]}},"service":{"type":"array","items":{"type":"string","examples":["ALL"]}},"status":{"type":"string","examples":["enable"]},"logtraffic":{"type":"string","examples":["all"]}},"required":[]}}},"required":[]}}},"required":[]},{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]},{"$id":"policyID","type":"integer","examples":[8]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"policyid\": ${policy_id},\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","args":[null,null,null],"view":{"row":2,"col":2},"context":"#"},{"id":12,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"policyID","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/2/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-05T21:34:41.712Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-10T14:42:25.103Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":52,"type":"workflow","reference":"349f1706-3654-4a4a-84d9-f0c9f155890a","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":-168}},"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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"8640":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"601b":{"92ed":{"state":"success","type":"standard"}},"4d1e":{"50cc":{"state":"success","type":"standard"}},"50cc":{"workflow_end":{"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"}}},"tags":[],"type":"automation","font_size":12,"last_updated":"2025-06-10T14:42:25.104Z","lastUpdatedVersion":"5.55.5","createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","groups":[],"migrationVersion":6}},{"iid":53,"type":"workflow","reference":"e3bd8e64-492c-4bb2-9566-969cb2018a26","folder":"/Delete Objects","document":{"name":"Delete Adom","tasks":{"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":-168}},"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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"8640":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"601b":{"92ed":{"state":"success","type":"standard"}},"4d1e":{"50cc":{"state":"success","type":"standard"}},"50cc":{"workflow_end":{"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"}}},"tags":[],"type":"automation","font_size":12,"last_updated":"2025-06-10T14:42:25.105Z","lastUpdatedVersion":"5.55.5","createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","groups":[],"migrationVersion":6}},{"iid":54,"type":"workflow","reference":"38258d9b-ecde-4244-8909-7f6d26047bfb","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"name":"Create Firewall Policy","tasks":{"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.f207.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":780}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new firewall policy","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"4c23":{"name":"stub","canvasName":"stub","summary":"(Optional) Move policy (ordering)","description":"If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move","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":552}},"a050":{"name":"stub","canvasName":"stub","summary":"(Optional) Install the Policy Package to Devices","description":"POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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":648}},"a6ad":{"name":"stub","canvasName":"stub","summary":"README","description":"\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy4_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)\n3. policyName - name of the policy to add\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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare 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":"683f2241a3e4e1e6bbb279c9","variableMap":{"FWPolicyPayload":{},"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName","policyName":"$var.job.policyName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"y":780}},"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 firewall policy payload."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-672,"y":168}},"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":-672,"y":348}},"f207":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Get FW Policy\" ","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 \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\",\n \"data\": [\n {\n \"name\": \"\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.eaf5.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":168}},"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"}},{"key":"policyName","value":{"task":"job","variable":"policyName"}}]},"outgoing":{"merged_object":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-72}}},"transitions":{"9955":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"4c23":{"a050":{"state":"success","type":"standard"}},"a050":{"workflow_end":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"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":{"type":"standard","state":"error"}},"eaf5":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":"string","examples":["lhTest_policy2_frIAP"]}},"required":["adomName","policyPackageName","policyName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":"string","examples":["lhTest_policy2_frIAP"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-10T14:42:25.106Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"5.55.5","created":"2025-04-29T20:32:09.925Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":55,"type":"workflow","reference":"1cbc8be8-38d2-4284-a5e2-d96570ba0aa8","folder":"/Update Firewall Policy","document":{"name":"Update 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":-660}},"8372":{"name":"makeData","canvasName":"makeData","summary":"Prep Query","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":"response.result[0].data[name=].policyid","outputType":"string","variables":"$var.2110.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-300}},"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":432}},"397a":{"name":"stub","canvasName":"stub","summary":"Get firewall policy ID","description":"Get the firewall policy ID by:\n\n1. Get a list of all firewall policies for the specified adom and policy package.\n2. Query out the policyid that matches the policy name.\n\nUpdate payload requires policy ID. Using policy name will not work.","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":-540}},"4c23":{"name":"stub","canvasName":"stub","summary":"(Optional) Move policy (ordering)","description":"If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move","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":204}},"a050":{"name":"stub","canvasName":"stub","summary":"(Optional) Install the Policy Package to Devices","description":"POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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":300}},"a6ad":{"name":"stub","canvasName":"stub","summary":"README","description":"\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy2_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)\n3. policyName - name of the policy to add\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":-888}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Update 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":"6840008662116438683f993c","variableMap":{"FWPolicyPayload":{},"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName","policyID":"$var.a8b0.return_data"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-48}},"21dc":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Update 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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":60}},"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":-768}},"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":-756,"y":432}},"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 firewall policy payload."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-756,"y":-48}},"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":-756,"y":60}},"b2b9":{"name":"stub","canvasName":"stub","summary":"Create new firewall policy","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":-132}},"42cd":{"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.4a97.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-420}},"a8b0":{"name":"query","canvasName":"query","summary":"Get Firewall PolicyID","description":"Query data using a dot/bracket notation string and a matching key/value pair.","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":348,"y":-180}},"4a97":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Get FW Policy List\" ","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\": \"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":348,"y":-540}},"39d0":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Update FW Policy\" ","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\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/}/pkg//firewall/policy\",\n \"data\": [\n {\n \"policyid\": \"\",\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.2110.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-48}},"cc40":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Update 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.39d0.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":60}}},"transitions":{"2110":{"397a":{"state":"success","type":"standard"}},"8372":{"a8b0":{"state":"success","type":"standard"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"4a97":{"state":"success","type":"standard"}},"4c23":{"a050":{"state":"success","type":"standard"}},"a050":{"workflow_end":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"type":"standard","state":"success"},"4a48":{"type":"standard","state":"error"}},"21dc":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"failure"}},"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"}},"b2b9":{"09a6":{"state":"success","type":"standard"},"39d0":{"type":"standard","state":"failure"}},"42cd":{"8372":{"state":"success","type":"standard"}},"a8b0":{"b2b9":{"state":"success","type":"standard"}},"4a97":{"42cd":{"state":"success","type":"standard"}},"39d0":{"cc40":{"state":"success","type":"standard"}},"cc40":{"4c23":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":["array","boolean","null","number","object","string"]}},"required":["adomName","policyPackageName","policyName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"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-06-10T14:42:25.107Z","lastUpdatedVersion":"5.55.5","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":56,"type":"jsonForm","reference":"68407bdffb43d1b9e324b650","folder":"/","document":{"id":"68407bdffb43d1b9e324b650","created":"2025-06-04T17:01:19.348Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-10T20:19:41.196Z","lastUpdatedBy":"loan.huynh@itential.com","name":"FortiManager Create FW Policy","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"},{"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"},{"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"},{"nodeId":"4981a411-3e03-42c7-8c60-0962f4d5cb32","type":"string","title":"KEEP_Policy","description":"","placeholder":"Select an item","required":false,"enum":[],"enumNames":[],"binding":true,"rel":"collection","targetPointer":"/enum","method":"POST","uniqueItems":false,"base":"/FortiManager","href":"/getFirewallPolicyPackage","body":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":[],"filter":[],"option":[],"range":[],"sortings":[]},"sourcePointer":"/response/result/0/data","sourceKeyPointer":"/name"},{"nodeId":"875cfe72-5434-4e7b-be91-86e8ac404910","type":"string","title":"Text 2","description":"","placeholder":"Enter text","required":false,"readOnly":false,"binding":false,"rel":"item","targetPointer":"/default"}]},"schema":{"title":"FortiManager Create FW Policy","description":"","type":"object","required":["adom","policyName"],"properties":{"adom":{"type":"string","title":"Adom","_id":"/properties/adom","description":"","enum":[],"enumNames":[]},"policyPackage":{"type":"string","title":"Policy Package","_id":"/properties/policyPackage","description":"","enum":[],"enumNames":[]},"policyName":{"type":"string","title":"Policy Name","_id":"/properties/policyName","description":"Enter the Policy Name"},"keepPolicy":{"type":"string","title":"KEEP_Policy","_id":"/properties/keepPolicy","description":"","enum":[],"enumNames":[]},"text2":{"type":"string","title":"Text 2","_id":"/properties/text2","description":""}}},"uiSchema":{"adom":{"ui:placeholder":"Select an item"},"policyPackage":{"ui:placeholder":"Select an item"},"policyName":{"ui:placeholder":"Enter the Policy Name"},"keepPolicy":{"ui:placeholder":"Select an item"},"text2":{"ui:placeholder":"Enter text"}},"bindingSchema":{"properties":{"adom":{"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"}},"policyPackage":{"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"}},"keepPolicy":{"binding:method":"POST","binding:link":{"$ref":"/links","rel":"collection"},"binding:body":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":[],"filter":[],"option":[],"range":[],"sortings":[]},"binding:target":{"propertyPointer":"/enum"},"binding:hyperSchema":{"type":"object","base":"/FortiManager","links":[{"rel":"collection","href":"/getFirewallPolicyPackage","targetMediaType":"application/json","targetSchema":{"$ref":"#"},"variables":[]}]},"binding:source":{"propertyPointer":"/response/result/0/data","keyPointer":"/name"}}}},"validationSchema":{},"version":"2020.1"}},{"iid":57,"type":"workflow","reference":"24a59648-08ca-43be-9080-681d25d1cf83","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":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":564}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new Adom","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Create Policy Package Payload","description":"Perform a JSON Transformation using the JST library.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"tr_id":"684836f21c63275a329f412e","variableMap":{"adomName":"$var.job.adomName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"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":-672,"y":168}},"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":-672,"y":348}},"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":300,"y":168}},"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":-72}}},"transitions":{"9955":{"workflow_end":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"c0e5":{"type":"standard","state":"error"},"workflow_end":{"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":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]}},"required":["adomName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"tags":[],"type":"automation","font_size":12,"last_updated":"2025-06-10T14:42:25.107Z","lastUpdatedVersion":"5.55.5","createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","groups":[],"migrationVersion":6}},{"iid":58,"type":"workflow","reference":"758fb94e-c220-4439-8145-b309d7fb6afa","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"name":"Create Policy Package","tasks":{"9955":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Create Policy Package","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":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":564}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new Policy Package","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Create Policy Package","description":"Perform a JSON Transformation using the JST library.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"tr_id":"684837741c63275a329f412f","variableMap":{"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Create Policy Package","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":"$var.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"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 policy package seats."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-672,"y":168}},"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":-672,"y":348}},"f207":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Create Policy Package\"","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 \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/\",\n \"data\": [\n {\n \"name\": \"\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.eaf5.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":168}},"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":-72}}},"transitions":{"9955":{"workflow_end":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"c0e5":{"type":"standard","state":"error"},"workflow_end":{"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":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]}},"required":["adomName","policyPackageName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"tags":[],"type":"automation","font_size":12,"last_updated":"2025-06-10T19:05:05.590Z","lastUpdatedVersion":"5.55.5","createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","groups":[],"migrationVersion":6}},{"iid":59,"type":"transformation","reference":"684836f21c63275a329f412e","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"684836f21c63275a329f412e","name":"Prepare Create Adom Payload","description":"","incoming":[{"$id":"adomName","type":"string","examples":["root"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"method\": \"add\",\n \"params\": [\n {\n \"data\": [\n {\n \"name\": \"${adom}\"\n }\n ],\n \"url\": \"/dvmdb/adom\"\n }\n ]\n\n}","args":[null],"view":{"row":2,"col":2},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-10T13:45:22.822Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-10T14:42:25.108Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":60,"type":"transformation","reference":"684837741c63275a329f412f","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"684837741c63275a329f412f","name":"Prepare Create Policy Package","description":"","incoming":[{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/${adom}\",\n \"data\": [\n {\n \"name\": \"${policy_package}\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n\n}\n","args":[null,null],"view":{"row":2,"col":2},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-10T13:47:32.808Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-10T14:42:25.110Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":62,"type":"jsonForm","reference":"684c2a9f1c63275a329f4132","folder":"/","document":{"id":"684c2a9f1c63275a329f4132","created":"2025-06-13T13:41:51.845Z","createdBy":"trinh.do@itential.com","lastUpdated":"2025-06-13T17:25:26.745Z","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":"FortiManager Delete Policy Package"}},{"iid":63,"type":"jsonForm","reference":"684c5eb91c63275a329f4133","folder":"/","document":{"id":"684c5eb91c63275a329f4133","created":"2025-06-13T17:24:09.733Z","createdBy":"trinh.do@itential.com","lastUpdated":"2025-06-13T17:25:18.550Z","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":"FortiManager Delete FW Policy"}},{"iid":64,"type":"jsonForm","reference":"684c5f101c63275a329f4134","folder":"/","document":{"id":"684c5f101c63275a329f4134","created":"2025-06-13T17:25:36.169Z","createdBy":"trinh.do@itential.com","lastUpdated":"2025-06-13T17:25:56.404Z","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":"FortiManager Delete Adom"}}],"folders":[{"nodeType":"folder","name":"ForTesting","children":[{"iid":40,"nodeType":"component"},{"iid":38,"nodeType":"component"},{"iid":39,"nodeType":"component"}]},{"nodeType":"folder","name":"Create Objects (Adom, Policy Pkg, Policy)","children":[{"iid":57,"nodeType":"component"},{"iid":59,"nodeType":"component"},{"iid":58,"nodeType":"component"},{"iid":60,"nodeType":"component"},{"iid":54,"nodeType":"component"},{"iid":41,"nodeType":"component"}]},{"nodeType":"folder","name":"Update Firewall Policy","children":[{"iid":55,"nodeType":"component"},{"iid":44,"nodeType":"component"}]},{"nodeType":"folder","name":"Delete Objects","children":[{"iid":50,"nodeType":"component"},{"iid":52,"nodeType":"component"},{"iid":53,"nodeType":"component"}]},{"nodeType":"folder","name":"Shared Components","children":[{"iid":42,"nodeType":"component"}]},{"iid":45,"nodeType":"component"},{"iid":46,"nodeType":"component"},{"iid":56,"nodeType":"component"},{"nodeType":"component","iid":62},{"nodeType":"component","iid":63},{"nodeType":"component","iid":64}],"created":"2025-04-24T16:30:18.005Z","createdBy":{"_id":"6811213c0b372eda73c63710","provenance":"local_aaa","username":"admin@pronghorn"},"lastUpdated":"2025-06-13T17:25:56.407Z","lastUpdatedBy":{"_id":"6818ac1715b167dd387adf61","provenance":"okta","username":"trinh.do@itential.com"},"iid":145,"thumbnail":"data:image/png;base64,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","backgroundColor":"#FFFFFF","referencedComponentHashes":[{"type":"automation","reference":"684c4a2c08571e92afb0afaa","name":"TDTest","hash":"b99e0a6187b814014b5848c3f666f48ee1429f9a"},{"type":"trigger","reference":"684c4bf408571e92afb0afab","name":"TestTrigger","hash":"d633b457afe8172694975f4fc260063121d74733"}]} \ No newline at end of file From 305b87329a4a9e729aed8a0191ad5da6c84ac353 Mon Sep 17 00:00:00 2001 From: lhuynh-itential <101599286+lhuynh-itential@users.noreply.github.com> Date: Fri, 13 Jun 2025 13:33:06 -0400 Subject: [PATCH 03/15] Initialized project "FortiManager" in remote repository "lhuynh-itential/assets" --- FortiManager/Projects/fortimanager.project.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 FortiManager/Projects/fortimanager.project.json diff --git a/FortiManager/Projects/fortimanager.project.json b/FortiManager/Projects/fortimanager.project.json new file mode 100644 index 0000000..a08d2fd --- /dev/null +++ b/FortiManager/Projects/fortimanager.project.json @@ -0,0 +1 @@ +{"_id":"680a671a3e055752b7abb534","name":"FortiManager","description":"","components":[{"iid":38,"reference":"0595c6a2-66c7-421c-8833-d99858c7e814","type":"workflow","folder":"/ForTesting","document":{"name":"fm_testFortiManager","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-684}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-300}},"cf92":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"List policy packages","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg/adom/root"}]},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-552}}},"transitions":{"workflow_start":{"cf92":{"state":"success","type":"standard"}},"workflow_end":{},"cf92":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:32:26.503Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"4.69.69","created":"2025-04-25T21:21:59.418Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":39,"reference":"26f50885-c3dd-4ac9-87b2-f5521085460b","type":"workflow","folder":"/ForTesting","document":{"name":"fm_testFortiManager2","tasks":{"4045":{"name":"genericAdapterRequest","canvasName":"genericAdapterRequest","summary":"Makes the requested generic call","description":"Makes the requested generic call","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"uriPath":"/jsonrpc","restMethod":"POST","queryData":"","requestBody":{"method":"get","params":[{"url":"/pm/config/adom/adom/pkg/{{policy-package}}/firewall/policy","fields":["obj seq","status","policyid","srcintf","dstintf","srcaddr","dstaddr","action","schedule","service","users","logtraffic","nat","name","comments","extra info"]}],"session":"{{fmg-session}}","verbose":1,"id":1},"addlHeaders":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-138}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-684}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":12}},"a309":{"name":"getFirewallPolicyPackage","canvasName":"getFirewallPolicyPackage","summary":"Get FW Policy Packages","description":"call to get firewall policy package","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"root","packid":"5964","policy":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-288}},"cf92":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"List policy packages","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg"}],"verbose":1,"id":1},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-552}},"c5c6":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Get the \"default\" policy package","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg/adom/default"}],"verbose":1,"id":1},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-420}}},"transitions":{"4045":{"workflow_end":{"state":"success","type":"standard"}},"workflow_start":{"cf92":{"state":"success","type":"standard"}},"workflow_end":{},"a309":{"4045":{"state":"success","type":"standard"}},"cf92":{"c5c6":{"state":"success","type":"standard"}},"c5c6":{"a309":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"lastUpdatedVersion":"4.69.69","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","last_updated":"2025-06-13T17:32:26.503Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"2025-05-06T13:59:07.934Z","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":40,"reference":"8e33a0dd-8192-4643-8a48-f73a17a5fd45","type":"workflow","folder":"/ForTesting","document":{"name":"lhTest_FortiManager","tasks":{"6437":{"name":"getScripts","canvasName":"getScripts","summary":"call to get Scripts","description":"call to get Scripts","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"script":"","expandMember":"","fields":"","filter":"","loadSub":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-12,"y":-60}},"workflow_start":{"name":"workflow_start","groups":[],"nodeLocation":{"x":96,"y":-432},"x":0,"y":0.5},"workflow_end":{"name":"workflow_end","groups":[],"nodeLocation":{"x":96,"y":204},"x":1,"y":0.5},"0385":{"name":"getFirewallPolicyPackage","canvasName":"getFirewallPolicyPackage","summary":"call to get firewall policy package","description":"call to get firewall policy package","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-300,"y":-60}},"88ab":{"name":"getDevices","canvasName":"getDevices","summary":"call to get Devices","description":"call to get Devices","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"device":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":276,"y":-60}},"86b5":{"name":"getDeviceInterfaces","canvasName":"getDeviceInterfaces","summary":"call to get device interfaces","description":"call to get device interfaces","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"device":"FGVM02TM24012094","vdomid":"","iface":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":564,"y":-60}},"e974":{"name":"getAdoms","canvasName":"getAdoms","summary":"call to get ADOMs","description":"call to get ADOMs","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":504,"y":-264}},"12c4":{"name":"getAdomScripts","canvasName":"getAdomScripts","summary":"call to get ADOM Scripts","description":"call to get ADOM Scripts","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"FortiFirewall","script":"","expandMember":"","fields":"","filter":"","loadSub":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-312,"y":-276}},"10c7":{"name":"getFirewallAddresses","canvasName":"getFirewallAddresses","summary":"call to get firewall addresses","description":"call to get firewall addresses","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"","address":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":120,"y":-228}},"00b3":{"name":"getAdomDevices","canvasName":"getAdomDevices","summary":"call to get ADOM Devices","description":"call to get ADOM Devices","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"FortiFirewall","device":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-312,"y":120}},"a646":{"name":"iapExpandedGenericAdapterRequest","canvasName":"iapExpandedGenericAdapterRequest","summary":"Makes the requested generic call with additional options","description":"Makes the requested generic call with additional options via metadata","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"metadata":"","uriPath":"/","restMethod":"POST","pathVars":"","queryData":"","requestBody":{"method":"get","params":[{"url":"/pm/pkg/adom/FortiFirewall"}],"verbose":1,"id":1},"addlHeaders":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":516,"y":132}}},"transitions":{"6437":{"workflow_end":{"state":"success","type":"standard"}},"workflow_start":{"6437":{"state":"success","type":"standard"},"0385":{"state":"success","type":"standard"},"88ab":{"state":"success","type":"standard"},"86b5":{"state":"success","type":"standard"},"e974":{"state":"success","type":"standard"},"12c4":{"state":"success","type":"standard"},"10c7":{"state":"success","type":"standard"},"00b3":{"state":"success","type":"standard"},"a646":{"state":"success","type":"standard"}},"workflow_end":{},"0385":{"workflow_end":{"state":"success","type":"standard"}},"88ab":{"workflow_end":{"state":"success","type":"standard"}},"86b5":{"workflow_end":{"state":"success","type":"standard"}},"e974":{"workflow_end":{"state":"success","type":"standard"}},"12c4":{"workflow_end":{"state":"success","type":"standard"}},"10c7":{"workflow_end":{"state":"success","type":"standard"}},"00b3":{"workflow_end":{"state":"success","type":"standard"}},"a646":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"errorHandler":null,"preAutomationTime":0,"sla":0,"lastUpdatedVersion":"4.69.69","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","last_updated":"2025-06-13T17:32:26.503Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"2025-05-08T07:43:22.575Z","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":45,"reference":"1fef4390-ff81-4adf-b71b-0961bde8c96c","type":"workflow","folder":"/","document":{"name":"FortiManager_main_createFW","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-500}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-84}},"81cd":{"name":"childJob","canvasName":"childJob","summary":"Run Create FW Child Job","description":"Runs a child job inside a workflow.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"task":"","workflow":"@680a671a3e055752b7abb534: Create Firewall Policy","variables":{"adomName":{"task":"static","value":"root"},"policyPackageName":{"task":"static","value":"lhTest_policy-package"},"policyName":{"task":"static","value":"lhTest_policy3_frIAP"}},"data_array":"","transformation":"","loopType":""},"outgoing":{"job_details":""}},"actor":"job","groups":[],"nodeLocation":{"x":0,"y":-300}}},"transitions":{"workflow_start":{"81cd":{"state":"success","type":"standard"}},"workflow_end":{},"81cd":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":46,"reference":"3e1e5d6f-5f4e-4560-b020-b00b5858ca99","type":"workflow","folder":"/","document":{"name":"FortiManager_main_updateFW","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-500}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-84}},"81cd":{"name":"childJob","canvasName":"childJob","summary":"Run Update FW Child Job","description":"Runs a child job inside a workflow.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"task":"","workflow":"@680a671a3e055752b7abb534: Update Firewall Policy","variables":{"adomName":{"task":"static","value":"root"},"policyPackageName":{"task":"static","value":"lhTest_policy-package"},"policyName":{"task":"static","value":"lhTest_policy2_frIAP"}},"data_array":"","transformation":"","loopType":""},"outgoing":{"job_details":""}},"actor":"job","groups":[],"nodeLocation":{"x":0,"y":-300}}},"transitions":{"workflow_start":{"81cd":{"state":"success","type":"standard"}},"workflow_end":{},"81cd":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"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":-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 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":-588}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-1212}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-168}},"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/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":-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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}},"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":-1104}},"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":-888}},"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":-696}},"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":-792}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"c5b1":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"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"}},"4e49":{"8640":{"state":"success","type":"standard"}},"30ef":{"4e49":{"state":"success","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-06-13T17:32:26.503Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"4.69.69","created":"2025-06-05T21:04:01.032Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"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":-168}},"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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"8640":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"601b":{"92ed":{"state":"success","type":"standard"}},"4d1e":{"50cc":{"state":"success","type":"standard"}},"50cc":{"workflow_end":{"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-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":53,"reference":"e3bd8e64-492c-4bb2-9566-969cb2018a26","type":"workflow","folder":"/Delete Objects","document":{"name":"Delete Adom","tasks":{"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":-168}},"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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"8640":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"601b":{"92ed":{"state":"success","type":"standard"}},"4d1e":{"50cc":{"state":"success","type":"standard"}},"50cc":{"workflow_end":{"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-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":54,"reference":"38258d9b-ecde-4244-8909-7f6d26047bfb","type":"workflow","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"name":"Create Firewall Policy","tasks":{"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.f207.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":780}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new firewall policy","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"4c23":{"name":"stub","canvasName":"stub","summary":"(Optional) Move policy (ordering)","description":"If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move","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":552}},"a050":{"name":"stub","canvasName":"stub","summary":"(Optional) Install the Policy Package to Devices","description":"POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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":648}},"a6ad":{"name":"stub","canvasName":"stub","summary":"README","description":"\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy4_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)\n3. policyName - name of the policy to add\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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare 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":"683f2241a3e4e1e6bbb279c9","variableMap":{"FWPolicyPayload":{},"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName","policyName":"$var.job.policyName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"y":780}},"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 firewall policy payload."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-672,"y":168}},"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":-672,"y":348}},"f207":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Get FW Policy\" ","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 \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\",\n \"data\": [\n {\n \"name\": \"\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.eaf5.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":168}},"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"}},{"key":"policyName","value":{"task":"job","variable":"policyName"}}]},"outgoing":{"merged_object":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-72}}},"transitions":{"9955":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"4c23":{"a050":{"state":"success","type":"standard"}},"a050":{"workflow_end":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"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":{"type":"standard","state":"error"}},"eaf5":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":"string","examples":["lhTest_policy2_frIAP"]}},"required":["adomName","policyPackageName","policyName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":"string","examples":["lhTest_policy2_frIAP"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:32:26.503Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"4.69.69","created":"2025-04-29T20:32:09.925Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":55,"reference":"1cbc8be8-38d2-4284-a5e2-d96570ba0aa8","type":"workflow","folder":"/Update Firewall Policy","document":{"name":"Update 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":-660}},"8372":{"name":"makeData","canvasName":"makeData","summary":"Prep Query","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":"response.result[0].data[name=].policyid","outputType":"string","variables":"$var.2110.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-300}},"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":432}},"397a":{"name":"stub","canvasName":"stub","summary":"Get firewall policy ID","description":"Get the firewall policy ID by:\n\n1. Get a list of all firewall policies for the specified adom and policy package.\n2. Query out the policyid that matches the policy name.\n\nUpdate payload requires policy ID. Using policy name will not work.","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":-540}},"4c23":{"name":"stub","canvasName":"stub","summary":"(Optional) Move policy (ordering)","description":"If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move","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":204}},"a050":{"name":"stub","canvasName":"stub","summary":"(Optional) Install the Policy Package to Devices","description":"POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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":300}},"a6ad":{"name":"stub","canvasName":"stub","summary":"README","description":"\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy2_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)\n3. policyName - name of the policy to add\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":-888}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Update 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":"6840008662116438683f993c","variableMap":{"FWPolicyPayload":{},"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName","policyID":"$var.a8b0.return_data"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-48}},"21dc":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Update 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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":60}},"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":-768}},"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":-756,"y":432}},"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 firewall policy payload."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-756,"y":-48}},"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":-756,"y":60}},"b2b9":{"name":"stub","canvasName":"stub","summary":"Create new firewall policy","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":-132}},"42cd":{"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.4a97.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-420}},"a8b0":{"name":"query","canvasName":"query","summary":"Get Firewall PolicyID","description":"Query data using a dot/bracket notation string and a matching key/value pair.","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":348,"y":-180}},"4a97":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Get FW Policy List\" ","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\": \"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":348,"y":-540}},"39d0":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Update FW Policy\" ","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\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/}/pkg//firewall/policy\",\n \"data\": [\n {\n \"policyid\": \"\",\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.2110.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-48}},"cc40":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Update 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.39d0.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":60}}},"transitions":{"2110":{"397a":{"state":"success","type":"standard"}},"8372":{"a8b0":{"state":"success","type":"standard"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"4a97":{"state":"success","type":"standard"}},"4c23":{"a050":{"state":"success","type":"standard"}},"a050":{"workflow_end":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"type":"standard","state":"success"},"4a48":{"type":"standard","state":"error"}},"21dc":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"failure"}},"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"}},"b2b9":{"09a6":{"state":"success","type":"standard"},"39d0":{"type":"standard","state":"failure"}},"42cd":{"8372":{"state":"success","type":"standard"}},"a8b0":{"b2b9":{"state":"success","type":"standard"}},"4a97":{"42cd":{"state":"success","type":"standard"}},"39d0":{"cc40":{"state":"success","type":"standard"}},"cc40":{"4c23":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":["array","boolean","null","number","object","string"]}},"required":["adomName","policyPackageName","policyName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"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-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"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":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":564}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new Adom","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Create Policy Package Payload","description":"Perform a JSON Transformation using the JST library.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"tr_id":"684836f21c63275a329f412e","variableMap":{"adomName":"$var.job.adomName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"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":-672,"y":168}},"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":-672,"y":348}},"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":300,"y":168}},"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":-72}}},"transitions":{"9955":{"workflow_end":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"c0e5":{"type":"standard","state":"error"},"workflow_end":{"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":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]}},"required":["adomName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"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":"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":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":564}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new Policy Package","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Create Policy Package","description":"Perform a JSON Transformation using the JST library.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"tr_id":"684837741c63275a329f412f","variableMap":{"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Create Policy Package","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":"$var.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"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 policy package seats."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-672,"y":168}},"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":-672,"y":348}},"f207":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Create Policy Package\"","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 \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/\",\n \"data\": [\n {\n \"name\": \"\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.eaf5.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":168}},"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":-72}}},"transitions":{"9955":{"workflow_end":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"c0e5":{"type":"standard","state":"error"},"workflow_end":{"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":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]}},"required":["adomName","policyPackageName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":41,"reference":"683f2241a3e4e1e6bbb279c9","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"683f2241a3e4e1e6bbb279c9","name":"Prepare Create Firewall Policy Payload","description":"","incoming":[{"$id":"FWPolicyPayload","type":"object","properties":{"id":{"type":"integer","examples":[1]},"method":{"type":"string","examples":["add"]},"params":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","examples":["/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","examples":["lhTest_policy1_frIAP"]},"srcintf":{"type":"array","items":{"type":"string","examples":["any"]}},"dstintf":{"type":"array","items":{"type":"string","examples":["any"]}},"srcaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"dstaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"action":{"type":"string","examples":["accept"]},"schedule":{"type":"array","items":{"type":"string","examples":["always"]}},"service":{"type":"array","items":{"type":"string","examples":["ALL"]}},"status":{"type":"string","examples":["enable"]},"logtraffic":{"type":"string","examples":["all"]}},"required":[]}}},"required":[]}}},"required":[]},{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]},{"$id":"policyName","type":"string","examples":["lhTest_policy2_frIAP"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"name\": \"${policy_name}\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","args":[null,null,null],"view":{"row":2,"col":2},"context":"#"},{"id":11,"type":"assign","from":{"location":"incoming","name":"policyName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/2/value"},"context":"#"},{"id":12,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.152Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:32:26.509Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"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-13T17:32:25.147Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:32:26.509Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":44,"reference":"6840008662116438683f993c","type":"transformation","folder":"/Update Firewall Policy","document":{"_id":"6840008662116438683f993c","name":"Prepare Update Firewall Policy Payload","description":"","incoming":[{"$id":"FWPolicyPayload","type":"object","properties":{"id":{"type":"integer","examples":[1]},"method":{"type":"string","examples":["add"]},"params":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","examples":["/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","examples":["lhTest_policy1_frIAP"]},"srcintf":{"type":"array","items":{"type":"string","examples":["any"]}},"dstintf":{"type":"array","items":{"type":"string","examples":["any"]}},"srcaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"dstaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"action":{"type":"string","examples":["accept"]},"schedule":{"type":"array","items":{"type":"string","examples":["always"]}},"service":{"type":"array","items":{"type":"string","examples":["ALL"]}},"status":{"type":"string","examples":["enable"]},"logtraffic":{"type":"string","examples":["all"]}},"required":[]}}},"required":[]}}},"required":[]},{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]},{"$id":"policyID","type":"integer","examples":[8]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"policyid\": ${policy_id},\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","args":[null,null,null],"view":{"row":2,"col":2},"context":"#"},{"id":12,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"policyID","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/2/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.164Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:32:26.509Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":59,"reference":"684836f21c63275a329f412e","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"684836f21c63275a329f412e","name":"Prepare Create Adom Payload","description":"","incoming":[{"$id":"adomName","type":"string","examples":["root"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"method\": \"add\",\n \"params\": [\n {\n \"data\": [\n {\n \"name\": \"${adom}\"\n }\n ],\n \"url\": \"/dvmdb/adom\"\n }\n ]\n\n}","args":[null],"view":{"row":2,"col":2},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.180Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:32:26.509Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":60,"reference":"684837741c63275a329f412f","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"684837741c63275a329f412f","name":"Prepare Create Policy Package","description":"","incoming":[{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/${adom}\",\n \"data\": [\n {\n \"name\": \"${policy_package}\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n\n}\n","args":[null,null],"view":{"row":2,"col":2},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.181Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:32:26.509Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":56,"reference":"68407bdffb43d1b9e324b650","type":"jsonForm","folder":"/","document":{"id":"68407bdffb43d1b9e324b650","created":"2025-06-04T17:01:19.348Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:32:26.507Z","lastUpdatedBy":"loan.huynh@itential.com","name":"FortiManager Create FW Policy","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"},{"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"},{"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"},{"nodeId":"4981a411-3e03-42c7-8c60-0962f4d5cb32","type":"string","title":"KEEP_Policy","description":"","placeholder":"Select an item","required":false,"enum":[],"enumNames":[],"binding":true,"rel":"collection","targetPointer":"/enum","method":"POST","uniqueItems":false,"base":"/FortiManager","href":"/getFirewallPolicyPackage","body":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":[],"filter":[],"option":[],"range":[],"sortings":[]},"sourcePointer":"/response/result/0/data","sourceKeyPointer":"/name"},{"nodeId":"875cfe72-5434-4e7b-be91-86e8ac404910","type":"string","title":"Text 2","description":"","placeholder":"Enter text","required":false,"readOnly":false,"binding":false,"rel":"item","targetPointer":"/default"}]},"schema":{"title":"FortiManager Create FW Policy","description":"","type":"object","required":["adom","policyName"],"properties":{"adom":{"type":"string","title":"Adom","_id":"/properties/adom","description":"","enum":[],"enumNames":[]},"policyPackage":{"type":"string","title":"Policy Package","_id":"/properties/policyPackage","description":"","enum":[],"enumNames":[]},"policyName":{"type":"string","title":"Policy Name","_id":"/properties/policyName","description":"Enter the Policy Name"},"keepPolicy":{"type":"string","title":"KEEP_Policy","_id":"/properties/keepPolicy","description":"","enum":[],"enumNames":[]},"text2":{"type":"string","title":"Text 2","_id":"/properties/text2","description":""}}},"uiSchema":{"adom":{"ui:placeholder":"Select an item"},"policyPackage":{"ui:placeholder":"Select an item"},"policyName":{"ui:placeholder":"Enter the Policy Name"},"keepPolicy":{"ui:placeholder":"Select an item"},"text2":{"ui:placeholder":"Enter text"}},"bindingSchema":{"properties":{"adom":{"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"}},"policyPackage":{"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"}},"keepPolicy":{"binding:method":"POST","binding:link":{"$ref":"/links","rel":"collection"},"binding:body":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":[],"filter":[],"option":[],"range":[],"sortings":[]},"binding:target":{"propertyPointer":"/enum"},"binding:hyperSchema":{"type":"object","base":"/FortiManager","links":[{"rel":"collection","href":"/getFirewallPolicyPackage","targetMediaType":"application/json","targetSchema":{"$ref":"#"},"variables":[]}]},"binding:source":{"propertyPointer":"/response/result/0/data","keyPointer":"/name"}}}},"validationSchema":{},"version":"2020.1"}},{"iid":62,"reference":"684c2a9f1c63275a329f4132","type":"jsonForm","folder":"/","document":{"id":"684c2a9f1c63275a329f4132","created":"2025-06-13T13:41:51.845Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:32:26.507Z","lastUpdatedBy":"loan.huynh@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":"FortiManager Delete Policy Package"}},{"iid":63,"reference":"684c5eb91c63275a329f4133","type":"jsonForm","folder":"/","document":{"id":"684c5eb91c63275a329f4133","created":"2025-06-13T17:24:09.733Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:32:26.507Z","lastUpdatedBy":"loan.huynh@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":"FortiManager Delete FW Policy"}},{"iid":64,"reference":"684c5f101c63275a329f4134","type":"jsonForm","folder":"/","document":{"id":"684c5f101c63275a329f4134","created":"2025-06-13T17:25:36.169Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:32:26.507Z","lastUpdatedBy":"loan.huynh@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":"FortiManager Delete Adom"}}],"folders":[{"nodeType":"folder","name":"ForTesting","children":[{"iid":40,"nodeType":"component"},{"iid":38,"nodeType":"component"},{"iid":39,"nodeType":"component"}]},{"nodeType":"folder","name":"Create Objects (Adom, Policy Pkg, Policy)","children":[{"iid":57,"nodeType":"component"},{"iid":59,"nodeType":"component"},{"iid":58,"nodeType":"component"},{"iid":60,"nodeType":"component"},{"iid":54,"nodeType":"component"},{"iid":41,"nodeType":"component"}]},{"nodeType":"folder","name":"Update Firewall Policy","children":[{"iid":55,"nodeType":"component"},{"iid":44,"nodeType":"component"}]},{"nodeType":"folder","name":"Delete Objects","children":[{"iid":50,"nodeType":"component"},{"iid":52,"nodeType":"component"},{"iid":53,"nodeType":"component"}]},{"nodeType":"folder","name":"Shared Components","children":[{"iid":42,"nodeType":"component"}]},{"iid":45,"nodeType":"component"},{"iid":46,"nodeType":"component"},{"iid":56,"nodeType":"component"},{"iid":62,"nodeType":"component"},{"iid":63,"nodeType":"component"},{"iid":64,"nodeType":"component"}],"created":"2025-04-24T16:30:18.005Z","createdBy":{"_id":"6811213c0b372eda73c63710","provenance":"local_aaa","username":"admin@pronghorn"},"lastUpdated":"2025-06-13T17:30:51.815Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"iid":145,"thumbnail":"data:image/png;base64,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","backgroundColor":"#FFFFFF","referencedComponentHashes":[{"type":"automation","reference":"684c4a2c08571e92afb0afaa","name":"TDTest","hash":"b99e0a6187b814014b5848c3f666f48ee1429f9a"},{"type":"trigger","reference":"684c4bf408571e92afb0afab","name":"TestTrigger","hash":"d633b457afe8172694975f4fc260063121d74733"}]} \ No newline at end of file From 2dde53af76634a6fdddbfc457524dc33032d578e Mon Sep 17 00:00:00 2001 From: lhuynh-itential <101599286+lhuynh-itential@users.noreply.github.com> Date: Fri, 13 Jun 2025 17:34:56 +0000 Subject: [PATCH 04/15] delete "projects" folder --- FortiManager/projects/fortimanager.project.json | 1 - 1 file changed, 1 deletion(-) delete mode 100644 FortiManager/projects/fortimanager.project.json diff --git a/FortiManager/projects/fortimanager.project.json b/FortiManager/projects/fortimanager.project.json deleted file mode 100644 index a1648b9..0000000 --- a/FortiManager/projects/fortimanager.project.json +++ /dev/null @@ -1 +0,0 @@ -{"_id":"680a671a3e055752b7abb534","name":"FortiManager","description":"","components":[{"iid":38,"reference":"0595c6a2-66c7-421c-8833-d99858c7e814","type":"workflow","folder":"/ForTesting","document":{"name":"fm_testFortiManager","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-684}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-300}},"cf92":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"List policy packages","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg/adom/root"}]},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-552}}},"transitions":{"workflow_start":{"cf92":{"state":"success","type":"standard"}},"workflow_end":{},"cf92":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-10T19:45:37.196Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"5.55.5","created":"2025-04-25T21:21:59.418Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":39,"reference":"26f50885-c3dd-4ac9-87b2-f5521085460b","type":"workflow","folder":"/ForTesting","document":{"name":"fm_testFortiManager2","tasks":{"4045":{"name":"genericAdapterRequest","canvasName":"genericAdapterRequest","summary":"Makes the requested generic call","description":"Makes the requested generic call","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"uriPath":"/jsonrpc","restMethod":"POST","queryData":"","requestBody":{"method":"get","params":[{"url":"/pm/config/adom/adom/pkg/{{policy-package}}/firewall/policy","fields":["obj seq","status","policyid","srcintf","dstintf","srcaddr","dstaddr","action","schedule","service","users","logtraffic","nat","name","comments","extra info"]}],"session":"{{fmg-session}}","verbose":1,"id":1},"addlHeaders":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-138}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-684}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":12}},"a309":{"name":"getFirewallPolicyPackage","canvasName":"getFirewallPolicyPackage","summary":"Get FW Policy Packages","description":"call to get firewall policy package","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"root","packid":"5964","policy":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-288}},"cf92":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"List policy packages","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg"}],"verbose":1,"id":1},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-552}},"c5c6":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Get the \"default\" policy package","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg/adom/default"}],"verbose":1,"id":1},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-420}}},"transitions":{"4045":{"workflow_end":{"state":"success","type":"standard"}},"workflow_start":{"cf92":{"state":"success","type":"standard"}},"workflow_end":{},"a309":{"4045":{"state":"success","type":"standard"}},"cf92":{"c5c6":{"state":"success","type":"standard"}},"c5c6":{"a309":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"lastUpdatedVersion":"4.69.69","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","last_updated":"2025-06-10T14:42:25.096Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"2025-05-06T13:59:07.934Z","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":40,"reference":"8e33a0dd-8192-4643-8a48-f73a17a5fd45","type":"workflow","folder":"/ForTesting","document":{"name":"lhTest_FortiManager","tasks":{"6437":{"name":"getScripts","canvasName":"getScripts","summary":"call to get Scripts","description":"call to get Scripts","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"script":"","expandMember":"","fields":"","filter":"","loadSub":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-12,"y":-60}},"workflow_start":{"name":"workflow_start","groups":[],"nodeLocation":{"x":96,"y":-432},"x":0,"y":0.5},"workflow_end":{"name":"workflow_end","groups":[],"nodeLocation":{"x":96,"y":204},"x":1,"y":0.5},"0385":{"name":"getFirewallPolicyPackage","canvasName":"getFirewallPolicyPackage","summary":"call to get firewall policy package","description":"call to get firewall policy package","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-300,"y":-60}},"88ab":{"name":"getDevices","canvasName":"getDevices","summary":"call to get Devices","description":"call to get Devices","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"device":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":276,"y":-60}},"86b5":{"name":"getDeviceInterfaces","canvasName":"getDeviceInterfaces","summary":"call to get device interfaces","description":"call to get device interfaces","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"device":"FGVM02TM24012094","vdomid":"","iface":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":564,"y":-60}},"e974":{"name":"getAdoms","canvasName":"getAdoms","summary":"call to get ADOMs","description":"call to get ADOMs","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":504,"y":-264}},"12c4":{"name":"getAdomScripts","canvasName":"getAdomScripts","summary":"call to get ADOM Scripts","description":"call to get ADOM Scripts","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"FortiFirewall","script":"","expandMember":"","fields":"","filter":"","loadSub":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-216,"y":-276}},"10c7":{"name":"getFirewallAddresses","canvasName":"getFirewallAddresses","summary":"call to get firewall addresses","description":"call to get firewall addresses","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"","address":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":120,"y":-228}},"00b3":{"name":"getAdomDevices","canvasName":"getAdomDevices","summary":"call to get ADOM Devices","description":"call to get ADOM Devices","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"FortiFirewall","device":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-312,"y":120}},"a646":{"name":"iapExpandedGenericAdapterRequest","canvasName":"iapExpandedGenericAdapterRequest","summary":"Makes the requested generic call with additional options","description":"Makes the requested generic call with additional options via metadata","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"metadata":"","uriPath":"/","restMethod":"POST","pathVars":"","queryData":"","requestBody":{"method":"get","params":[{"url":"/pm/pkg/adom/FortiFirewall"}],"verbose":1,"id":1},"addlHeaders":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":516,"y":132}}},"transitions":{"6437":{"workflow_end":{"state":"success","type":"standard"}},"workflow_start":{"6437":{"state":"success","type":"standard"},"0385":{"state":"success","type":"standard"},"88ab":{"state":"success","type":"standard"},"86b5":{"state":"success","type":"standard"},"e974":{"state":"success","type":"standard"},"12c4":{"state":"success","type":"standard"},"10c7":{"state":"success","type":"standard"},"00b3":{"state":"success","type":"standard"},"a646":{"state":"success","type":"standard"}},"workflow_end":{},"0385":{"workflow_end":{"state":"success","type":"standard"}},"88ab":{"workflow_end":{"state":"success","type":"standard"}},"86b5":{"workflow_end":{"state":"success","type":"standard"}},"e974":{"workflow_end":{"state":"success","type":"standard"}},"12c4":{"workflow_end":{"state":"success","type":"standard"}},"10c7":{"workflow_end":{"state":"success","type":"standard"}},"00b3":{"workflow_end":{"state":"success","type":"standard"}},"a646":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"errorHandler":null,"preAutomationTime":0,"sla":0,"lastUpdatedVersion":"5.55.5","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","last_updated":"2025-06-10T14:42:25.095Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"2025-05-08T07:43:22.575Z","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":45,"reference":"1fef4390-ff81-4adf-b71b-0961bde8c96c","type":"workflow","folder":"/","document":{"name":"FortiManager_main_createFW","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-500}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-84}},"81cd":{"name":"childJob","canvasName":"childJob","summary":"Run Create FW Child Job","description":"Runs a child job inside a workflow.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"task":"","workflow":"@680a671a3e055752b7abb534: Create Firewall Policy","variables":{"adomName":{"task":"static","value":"root"},"policyPackageName":{"task":"static","value":"lhTest_policy-package"},"policyName":{"task":"static","value":"lhTest_policy3_frIAP"}},"data_array":"","transformation":"","loopType":""},"outgoing":{"job_details":""}},"actor":"job","groups":[],"nodeLocation":{"x":0,"y":-300}}},"transitions":{"workflow_start":{"81cd":{"state":"success","type":"standard"}},"workflow_end":{},"81cd":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-10T14:42:25.099Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":46,"reference":"3e1e5d6f-5f4e-4560-b020-b00b5858ca99","type":"workflow","folder":"/","document":{"name":"FortiManager_main_updateFW","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-500}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-84}},"81cd":{"name":"childJob","canvasName":"childJob","summary":"Run Update FW Child Job","description":"Runs a child job inside a workflow.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"task":"","workflow":"@680a671a3e055752b7abb534: Update Firewall Policy","variables":{"adomName":{"task":"static","value":"root"},"policyPackageName":{"task":"static","value":"lhTest_policy-package"},"policyName":{"task":"static","value":"lhTest_policy2_frIAP"}},"data_array":"","transformation":"","loopType":""},"outgoing":{"job_details":""}},"actor":"job","groups":[],"nodeLocation":{"x":0,"y":-300}}},"transitions":{"workflow_start":{"81cd":{"state":"success","type":"standard"}},"workflow_end":{},"81cd":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-10T14:42:25.099Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"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":-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 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":-588}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-1212}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-168}},"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/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":-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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}},"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":-1104}},"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":-888}},"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":-696}},"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":-792}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"c5b1":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"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"}},"4e49":{"8640":{"state":"success","type":"standard"}},"30ef":{"4e49":{"state":"success","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-06-13T15:32:26.148Z","last_updated_by":{"provenance":"okta","username":"trinh.do@itential.com","firstname":"Trinh","inactive":false,"sso":true,"nameID":"trinh.do@itential.com"},"lastUpdatedVersion":"5.55.5","created":"2025-06-05T21:04:01.032Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":41,"reference":"683f2241a3e4e1e6bbb279c9","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"683f2241a3e4e1e6bbb279c9","name":"Prepare Create Firewall Policy Payload","description":"","incoming":[{"$id":"FWPolicyPayload","type":"object","properties":{"id":{"type":"integer","examples":[1]},"method":{"type":"string","examples":["add"]},"params":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","examples":["/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","examples":["lhTest_policy1_frIAP"]},"srcintf":{"type":"array","items":{"type":"string","examples":["any"]}},"dstintf":{"type":"array","items":{"type":"string","examples":["any"]}},"srcaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"dstaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"action":{"type":"string","examples":["accept"]},"schedule":{"type":"array","items":{"type":"string","examples":["always"]}},"service":{"type":"array","items":{"type":"string","examples":["ALL"]}},"status":{"type":"string","examples":["enable"]},"logtraffic":{"type":"string","examples":["all"]}},"required":[]}}},"required":[]}}},"required":[]},{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]},{"$id":"policyName","type":"string","examples":["lhTest_policy2_frIAP"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"name\": \"${policy_name}\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","args":[null,null,null],"view":{"row":2,"col":2},"context":"#"},{"id":11,"type":"assign","from":{"location":"incoming","name":"policyName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/2/value"},"context":"#"},{"id":12,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-05T21:34:41.634Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-10T14:42:25.101Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"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-05T21:34:41.638Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-10T14:42:25.101Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":44,"reference":"6840008662116438683f993c","type":"transformation","folder":"/Update Firewall Policy","document":{"_id":"6840008662116438683f993c","name":"Prepare Update Firewall Policy Payload","description":"","incoming":[{"$id":"FWPolicyPayload","type":"object","properties":{"id":{"type":"integer","examples":[1]},"method":{"type":"string","examples":["add"]},"params":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","examples":["/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","examples":["lhTest_policy1_frIAP"]},"srcintf":{"type":"array","items":{"type":"string","examples":["any"]}},"dstintf":{"type":"array","items":{"type":"string","examples":["any"]}},"srcaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"dstaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"action":{"type":"string","examples":["accept"]},"schedule":{"type":"array","items":{"type":"string","examples":["always"]}},"service":{"type":"array","items":{"type":"string","examples":["ALL"]}},"status":{"type":"string","examples":["enable"]},"logtraffic":{"type":"string","examples":["all"]}},"required":[]}}},"required":[]}}},"required":[]},{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]},{"$id":"policyID","type":"integer","examples":[8]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"policyid\": ${policy_id},\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","args":[null,null,null],"view":{"row":2,"col":2},"context":"#"},{"id":12,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"policyID","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/2/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-05T21:34:41.712Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-10T14:42:25.103Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":52,"type":"workflow","reference":"349f1706-3654-4a4a-84d9-f0c9f155890a","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":-168}},"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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"8640":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"601b":{"92ed":{"state":"success","type":"standard"}},"4d1e":{"50cc":{"state":"success","type":"standard"}},"50cc":{"workflow_end":{"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"}}},"tags":[],"type":"automation","font_size":12,"last_updated":"2025-06-10T14:42:25.104Z","lastUpdatedVersion":"5.55.5","createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","groups":[],"migrationVersion":6}},{"iid":53,"type":"workflow","reference":"e3bd8e64-492c-4bb2-9566-969cb2018a26","folder":"/Delete Objects","document":{"name":"Delete Adom","tasks":{"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":-168}},"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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"8640":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"601b":{"92ed":{"state":"success","type":"standard"}},"4d1e":{"50cc":{"state":"success","type":"standard"}},"50cc":{"workflow_end":{"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"}}},"tags":[],"type":"automation","font_size":12,"last_updated":"2025-06-10T14:42:25.105Z","lastUpdatedVersion":"5.55.5","createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","groups":[],"migrationVersion":6}},{"iid":54,"type":"workflow","reference":"38258d9b-ecde-4244-8909-7f6d26047bfb","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"name":"Create Firewall Policy","tasks":{"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.f207.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":780}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new firewall policy","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"4c23":{"name":"stub","canvasName":"stub","summary":"(Optional) Move policy (ordering)","description":"If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move","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":552}},"a050":{"name":"stub","canvasName":"stub","summary":"(Optional) Install the Policy Package to Devices","description":"POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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":648}},"a6ad":{"name":"stub","canvasName":"stub","summary":"README","description":"\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy4_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)\n3. policyName - name of the policy to add\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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare 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":"683f2241a3e4e1e6bbb279c9","variableMap":{"FWPolicyPayload":{},"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName","policyName":"$var.job.policyName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"y":780}},"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 firewall policy payload."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-672,"y":168}},"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":-672,"y":348}},"f207":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Get FW Policy\" ","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 \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\",\n \"data\": [\n {\n \"name\": \"\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.eaf5.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":168}},"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"}},{"key":"policyName","value":{"task":"job","variable":"policyName"}}]},"outgoing":{"merged_object":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-72}}},"transitions":{"9955":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"4c23":{"a050":{"state":"success","type":"standard"}},"a050":{"workflow_end":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"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":{"type":"standard","state":"error"}},"eaf5":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":"string","examples":["lhTest_policy2_frIAP"]}},"required":["adomName","policyPackageName","policyName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":"string","examples":["lhTest_policy2_frIAP"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-10T14:42:25.106Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"5.55.5","created":"2025-04-29T20:32:09.925Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":55,"type":"workflow","reference":"1cbc8be8-38d2-4284-a5e2-d96570ba0aa8","folder":"/Update Firewall Policy","document":{"name":"Update 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":-660}},"8372":{"name":"makeData","canvasName":"makeData","summary":"Prep Query","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":"response.result[0].data[name=].policyid","outputType":"string","variables":"$var.2110.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-300}},"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":432}},"397a":{"name":"stub","canvasName":"stub","summary":"Get firewall policy ID","description":"Get the firewall policy ID by:\n\n1. Get a list of all firewall policies for the specified adom and policy package.\n2. Query out the policyid that matches the policy name.\n\nUpdate payload requires policy ID. Using policy name will not work.","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":-540}},"4c23":{"name":"stub","canvasName":"stub","summary":"(Optional) Move policy (ordering)","description":"If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move","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":204}},"a050":{"name":"stub","canvasName":"stub","summary":"(Optional) Install the Policy Package to Devices","description":"POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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":300}},"a6ad":{"name":"stub","canvasName":"stub","summary":"README","description":"\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy2_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)\n3. policyName - name of the policy to add\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":-888}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Update 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":"6840008662116438683f993c","variableMap":{"FWPolicyPayload":{},"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName","policyID":"$var.a8b0.return_data"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-48}},"21dc":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Update 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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":60}},"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":-768}},"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":-756,"y":432}},"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 firewall policy payload."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-756,"y":-48}},"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":-756,"y":60}},"b2b9":{"name":"stub","canvasName":"stub","summary":"Create new firewall policy","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":-132}},"42cd":{"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.4a97.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-420}},"a8b0":{"name":"query","canvasName":"query","summary":"Get Firewall PolicyID","description":"Query data using a dot/bracket notation string and a matching key/value pair.","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":348,"y":-180}},"4a97":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Get FW Policy List\" ","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\": \"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":348,"y":-540}},"39d0":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Update FW Policy\" ","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\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/}/pkg//firewall/policy\",\n \"data\": [\n {\n \"policyid\": \"\",\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.2110.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-48}},"cc40":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Update 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.39d0.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":60}}},"transitions":{"2110":{"397a":{"state":"success","type":"standard"}},"8372":{"a8b0":{"state":"success","type":"standard"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"4a97":{"state":"success","type":"standard"}},"4c23":{"a050":{"state":"success","type":"standard"}},"a050":{"workflow_end":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"type":"standard","state":"success"},"4a48":{"type":"standard","state":"error"}},"21dc":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"failure"}},"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"}},"b2b9":{"09a6":{"state":"success","type":"standard"},"39d0":{"type":"standard","state":"failure"}},"42cd":{"8372":{"state":"success","type":"standard"}},"a8b0":{"b2b9":{"state":"success","type":"standard"}},"4a97":{"42cd":{"state":"success","type":"standard"}},"39d0":{"cc40":{"state":"success","type":"standard"}},"cc40":{"4c23":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":["array","boolean","null","number","object","string"]}},"required":["adomName","policyPackageName","policyName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"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-06-10T14:42:25.107Z","lastUpdatedVersion":"5.55.5","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":56,"type":"jsonForm","reference":"68407bdffb43d1b9e324b650","folder":"/","document":{"id":"68407bdffb43d1b9e324b650","created":"2025-06-04T17:01:19.348Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-10T20:19:41.196Z","lastUpdatedBy":"loan.huynh@itential.com","name":"FortiManager Create FW Policy","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"},{"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"},{"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"},{"nodeId":"4981a411-3e03-42c7-8c60-0962f4d5cb32","type":"string","title":"KEEP_Policy","description":"","placeholder":"Select an item","required":false,"enum":[],"enumNames":[],"binding":true,"rel":"collection","targetPointer":"/enum","method":"POST","uniqueItems":false,"base":"/FortiManager","href":"/getFirewallPolicyPackage","body":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":[],"filter":[],"option":[],"range":[],"sortings":[]},"sourcePointer":"/response/result/0/data","sourceKeyPointer":"/name"},{"nodeId":"875cfe72-5434-4e7b-be91-86e8ac404910","type":"string","title":"Text 2","description":"","placeholder":"Enter text","required":false,"readOnly":false,"binding":false,"rel":"item","targetPointer":"/default"}]},"schema":{"title":"FortiManager Create FW Policy","description":"","type":"object","required":["adom","policyName"],"properties":{"adom":{"type":"string","title":"Adom","_id":"/properties/adom","description":"","enum":[],"enumNames":[]},"policyPackage":{"type":"string","title":"Policy Package","_id":"/properties/policyPackage","description":"","enum":[],"enumNames":[]},"policyName":{"type":"string","title":"Policy Name","_id":"/properties/policyName","description":"Enter the Policy Name"},"keepPolicy":{"type":"string","title":"KEEP_Policy","_id":"/properties/keepPolicy","description":"","enum":[],"enumNames":[]},"text2":{"type":"string","title":"Text 2","_id":"/properties/text2","description":""}}},"uiSchema":{"adom":{"ui:placeholder":"Select an item"},"policyPackage":{"ui:placeholder":"Select an item"},"policyName":{"ui:placeholder":"Enter the Policy Name"},"keepPolicy":{"ui:placeholder":"Select an item"},"text2":{"ui:placeholder":"Enter text"}},"bindingSchema":{"properties":{"adom":{"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"}},"policyPackage":{"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"}},"keepPolicy":{"binding:method":"POST","binding:link":{"$ref":"/links","rel":"collection"},"binding:body":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":[],"filter":[],"option":[],"range":[],"sortings":[]},"binding:target":{"propertyPointer":"/enum"},"binding:hyperSchema":{"type":"object","base":"/FortiManager","links":[{"rel":"collection","href":"/getFirewallPolicyPackage","targetMediaType":"application/json","targetSchema":{"$ref":"#"},"variables":[]}]},"binding:source":{"propertyPointer":"/response/result/0/data","keyPointer":"/name"}}}},"validationSchema":{},"version":"2020.1"}},{"iid":57,"type":"workflow","reference":"24a59648-08ca-43be-9080-681d25d1cf83","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":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":564}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new Adom","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Create Policy Package Payload","description":"Perform a JSON Transformation using the JST library.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"tr_id":"684836f21c63275a329f412e","variableMap":{"adomName":"$var.job.adomName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"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":-672,"y":168}},"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":-672,"y":348}},"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":300,"y":168}},"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":-72}}},"transitions":{"9955":{"workflow_end":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"c0e5":{"type":"standard","state":"error"},"workflow_end":{"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":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]}},"required":["adomName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"tags":[],"type":"automation","font_size":12,"last_updated":"2025-06-10T14:42:25.107Z","lastUpdatedVersion":"5.55.5","createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","groups":[],"migrationVersion":6}},{"iid":58,"type":"workflow","reference":"758fb94e-c220-4439-8145-b309d7fb6afa","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"name":"Create Policy Package","tasks":{"9955":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Create Policy Package","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":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":564}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new Policy Package","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Create Policy Package","description":"Perform a JSON Transformation using the JST library.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"tr_id":"684837741c63275a329f412f","variableMap":{"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Create Policy Package","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":"$var.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"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 policy package seats."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-672,"y":168}},"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":-672,"y":348}},"f207":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Create Policy Package\"","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 \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/\",\n \"data\": [\n {\n \"name\": \"\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.eaf5.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":168}},"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":-72}}},"transitions":{"9955":{"workflow_end":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"c0e5":{"type":"standard","state":"error"},"workflow_end":{"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":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]}},"required":["adomName","policyPackageName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"tags":[],"type":"automation","font_size":12,"last_updated":"2025-06-10T19:05:05.590Z","lastUpdatedVersion":"5.55.5","createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","groups":[],"migrationVersion":6}},{"iid":59,"type":"transformation","reference":"684836f21c63275a329f412e","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"684836f21c63275a329f412e","name":"Prepare Create Adom Payload","description":"","incoming":[{"$id":"adomName","type":"string","examples":["root"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"method\": \"add\",\n \"params\": [\n {\n \"data\": [\n {\n \"name\": \"${adom}\"\n }\n ],\n \"url\": \"/dvmdb/adom\"\n }\n ]\n\n}","args":[null],"view":{"row":2,"col":2},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-10T13:45:22.822Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-10T14:42:25.108Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":60,"type":"transformation","reference":"684837741c63275a329f412f","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"684837741c63275a329f412f","name":"Prepare Create Policy Package","description":"","incoming":[{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/${adom}\",\n \"data\": [\n {\n \"name\": \"${policy_package}\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n\n}\n","args":[null,null],"view":{"row":2,"col":2},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-10T13:47:32.808Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-10T14:42:25.110Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":62,"type":"jsonForm","reference":"684c2a9f1c63275a329f4132","folder":"/","document":{"id":"684c2a9f1c63275a329f4132","created":"2025-06-13T13:41:51.845Z","createdBy":"trinh.do@itential.com","lastUpdated":"2025-06-13T17:25:26.745Z","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":"FortiManager Delete Policy Package"}},{"iid":63,"type":"jsonForm","reference":"684c5eb91c63275a329f4133","folder":"/","document":{"id":"684c5eb91c63275a329f4133","created":"2025-06-13T17:24:09.733Z","createdBy":"trinh.do@itential.com","lastUpdated":"2025-06-13T17:25:18.550Z","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":"FortiManager Delete FW Policy"}},{"iid":64,"type":"jsonForm","reference":"684c5f101c63275a329f4134","folder":"/","document":{"id":"684c5f101c63275a329f4134","created":"2025-06-13T17:25:36.169Z","createdBy":"trinh.do@itential.com","lastUpdated":"2025-06-13T17:25:56.404Z","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":"FortiManager Delete Adom"}}],"folders":[{"nodeType":"folder","name":"ForTesting","children":[{"iid":40,"nodeType":"component"},{"iid":38,"nodeType":"component"},{"iid":39,"nodeType":"component"}]},{"nodeType":"folder","name":"Create Objects (Adom, Policy Pkg, Policy)","children":[{"iid":57,"nodeType":"component"},{"iid":59,"nodeType":"component"},{"iid":58,"nodeType":"component"},{"iid":60,"nodeType":"component"},{"iid":54,"nodeType":"component"},{"iid":41,"nodeType":"component"}]},{"nodeType":"folder","name":"Update Firewall Policy","children":[{"iid":55,"nodeType":"component"},{"iid":44,"nodeType":"component"}]},{"nodeType":"folder","name":"Delete Objects","children":[{"iid":50,"nodeType":"component"},{"iid":52,"nodeType":"component"},{"iid":53,"nodeType":"component"}]},{"nodeType":"folder","name":"Shared Components","children":[{"iid":42,"nodeType":"component"}]},{"iid":45,"nodeType":"component"},{"iid":46,"nodeType":"component"},{"iid":56,"nodeType":"component"},{"nodeType":"component","iid":62},{"nodeType":"component","iid":63},{"nodeType":"component","iid":64}],"created":"2025-04-24T16:30:18.005Z","createdBy":{"_id":"6811213c0b372eda73c63710","provenance":"local_aaa","username":"admin@pronghorn"},"lastUpdated":"2025-06-13T17:25:56.407Z","lastUpdatedBy":{"_id":"6818ac1715b167dd387adf61","provenance":"okta","username":"trinh.do@itential.com"},"iid":145,"thumbnail":"data:image/png;base64,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","backgroundColor":"#FFFFFF","referencedComponentHashes":[{"type":"automation","reference":"684c4a2c08571e92afb0afaa","name":"TDTest","hash":"b99e0a6187b814014b5848c3f666f48ee1429f9a"},{"type":"trigger","reference":"684c4bf408571e92afb0afab","name":"TestTrigger","hash":"d633b457afe8172694975f4fc260063121d74733"}]} \ No newline at end of file From 3f326bce8baed47e29ef3bd066045e27dc5e2876 Mon Sep 17 00:00:00 2001 From: lhuynh-itential <101599286+lhuynh-itential@users.noreply.github.com> Date: Fri, 13 Jun 2025 13:37:08 -0400 Subject: [PATCH 05/15] moved task to test --- FortiManager/Projects/fortimanager.project.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FortiManager/Projects/fortimanager.project.json b/FortiManager/Projects/fortimanager.project.json index a08d2fd..45cb81f 100644 --- a/FortiManager/Projects/fortimanager.project.json +++ b/FortiManager/Projects/fortimanager.project.json @@ -1 +1 @@ -{"_id":"680a671a3e055752b7abb534","name":"FortiManager","description":"","components":[{"iid":38,"reference":"0595c6a2-66c7-421c-8833-d99858c7e814","type":"workflow","folder":"/ForTesting","document":{"name":"fm_testFortiManager","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-684}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-300}},"cf92":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"List policy packages","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg/adom/root"}]},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-552}}},"transitions":{"workflow_start":{"cf92":{"state":"success","type":"standard"}},"workflow_end":{},"cf92":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:32:26.503Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"4.69.69","created":"2025-04-25T21:21:59.418Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":39,"reference":"26f50885-c3dd-4ac9-87b2-f5521085460b","type":"workflow","folder":"/ForTesting","document":{"name":"fm_testFortiManager2","tasks":{"4045":{"name":"genericAdapterRequest","canvasName":"genericAdapterRequest","summary":"Makes the requested generic call","description":"Makes the requested generic call","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"uriPath":"/jsonrpc","restMethod":"POST","queryData":"","requestBody":{"method":"get","params":[{"url":"/pm/config/adom/adom/pkg/{{policy-package}}/firewall/policy","fields":["obj seq","status","policyid","srcintf","dstintf","srcaddr","dstaddr","action","schedule","service","users","logtraffic","nat","name","comments","extra info"]}],"session":"{{fmg-session}}","verbose":1,"id":1},"addlHeaders":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-138}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-684}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":12}},"a309":{"name":"getFirewallPolicyPackage","canvasName":"getFirewallPolicyPackage","summary":"Get FW Policy Packages","description":"call to get firewall policy package","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"root","packid":"5964","policy":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-288}},"cf92":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"List policy packages","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg"}],"verbose":1,"id":1},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-552}},"c5c6":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Get the \"default\" policy package","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg/adom/default"}],"verbose":1,"id":1},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-420}}},"transitions":{"4045":{"workflow_end":{"state":"success","type":"standard"}},"workflow_start":{"cf92":{"state":"success","type":"standard"}},"workflow_end":{},"a309":{"4045":{"state":"success","type":"standard"}},"cf92":{"c5c6":{"state":"success","type":"standard"}},"c5c6":{"a309":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"lastUpdatedVersion":"4.69.69","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","last_updated":"2025-06-13T17:32:26.503Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"2025-05-06T13:59:07.934Z","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":40,"reference":"8e33a0dd-8192-4643-8a48-f73a17a5fd45","type":"workflow","folder":"/ForTesting","document":{"name":"lhTest_FortiManager","tasks":{"6437":{"name":"getScripts","canvasName":"getScripts","summary":"call to get Scripts","description":"call to get Scripts","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"script":"","expandMember":"","fields":"","filter":"","loadSub":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-12,"y":-60}},"workflow_start":{"name":"workflow_start","groups":[],"nodeLocation":{"x":96,"y":-432},"x":0,"y":0.5},"workflow_end":{"name":"workflow_end","groups":[],"nodeLocation":{"x":96,"y":204},"x":1,"y":0.5},"0385":{"name":"getFirewallPolicyPackage","canvasName":"getFirewallPolicyPackage","summary":"call to get firewall policy package","description":"call to get firewall policy package","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-300,"y":-60}},"88ab":{"name":"getDevices","canvasName":"getDevices","summary":"call to get Devices","description":"call to get Devices","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"device":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":276,"y":-60}},"86b5":{"name":"getDeviceInterfaces","canvasName":"getDeviceInterfaces","summary":"call to get device interfaces","description":"call to get device interfaces","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"device":"FGVM02TM24012094","vdomid":"","iface":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":564,"y":-60}},"e974":{"name":"getAdoms","canvasName":"getAdoms","summary":"call to get ADOMs","description":"call to get ADOMs","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":504,"y":-264}},"12c4":{"name":"getAdomScripts","canvasName":"getAdomScripts","summary":"call to get ADOM Scripts","description":"call to get ADOM Scripts","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"FortiFirewall","script":"","expandMember":"","fields":"","filter":"","loadSub":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-312,"y":-276}},"10c7":{"name":"getFirewallAddresses","canvasName":"getFirewallAddresses","summary":"call to get firewall addresses","description":"call to get firewall addresses","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"","address":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":120,"y":-228}},"00b3":{"name":"getAdomDevices","canvasName":"getAdomDevices","summary":"call to get ADOM Devices","description":"call to get ADOM Devices","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"FortiFirewall","device":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-312,"y":120}},"a646":{"name":"iapExpandedGenericAdapterRequest","canvasName":"iapExpandedGenericAdapterRequest","summary":"Makes the requested generic call with additional options","description":"Makes the requested generic call with additional options via metadata","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"metadata":"","uriPath":"/","restMethod":"POST","pathVars":"","queryData":"","requestBody":{"method":"get","params":[{"url":"/pm/pkg/adom/FortiFirewall"}],"verbose":1,"id":1},"addlHeaders":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":516,"y":132}}},"transitions":{"6437":{"workflow_end":{"state":"success","type":"standard"}},"workflow_start":{"6437":{"state":"success","type":"standard"},"0385":{"state":"success","type":"standard"},"88ab":{"state":"success","type":"standard"},"86b5":{"state":"success","type":"standard"},"e974":{"state":"success","type":"standard"},"12c4":{"state":"success","type":"standard"},"10c7":{"state":"success","type":"standard"},"00b3":{"state":"success","type":"standard"},"a646":{"state":"success","type":"standard"}},"workflow_end":{},"0385":{"workflow_end":{"state":"success","type":"standard"}},"88ab":{"workflow_end":{"state":"success","type":"standard"}},"86b5":{"workflow_end":{"state":"success","type":"standard"}},"e974":{"workflow_end":{"state":"success","type":"standard"}},"12c4":{"workflow_end":{"state":"success","type":"standard"}},"10c7":{"workflow_end":{"state":"success","type":"standard"}},"00b3":{"workflow_end":{"state":"success","type":"standard"}},"a646":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"errorHandler":null,"preAutomationTime":0,"sla":0,"lastUpdatedVersion":"4.69.69","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","last_updated":"2025-06-13T17:32:26.503Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"2025-05-08T07:43:22.575Z","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":45,"reference":"1fef4390-ff81-4adf-b71b-0961bde8c96c","type":"workflow","folder":"/","document":{"name":"FortiManager_main_createFW","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-500}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-84}},"81cd":{"name":"childJob","canvasName":"childJob","summary":"Run Create FW Child Job","description":"Runs a child job inside a workflow.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"task":"","workflow":"@680a671a3e055752b7abb534: Create Firewall Policy","variables":{"adomName":{"task":"static","value":"root"},"policyPackageName":{"task":"static","value":"lhTest_policy-package"},"policyName":{"task":"static","value":"lhTest_policy3_frIAP"}},"data_array":"","transformation":"","loopType":""},"outgoing":{"job_details":""}},"actor":"job","groups":[],"nodeLocation":{"x":0,"y":-300}}},"transitions":{"workflow_start":{"81cd":{"state":"success","type":"standard"}},"workflow_end":{},"81cd":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":46,"reference":"3e1e5d6f-5f4e-4560-b020-b00b5858ca99","type":"workflow","folder":"/","document":{"name":"FortiManager_main_updateFW","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-500}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-84}},"81cd":{"name":"childJob","canvasName":"childJob","summary":"Run Update FW Child Job","description":"Runs a child job inside a workflow.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"task":"","workflow":"@680a671a3e055752b7abb534: Update Firewall Policy","variables":{"adomName":{"task":"static","value":"root"},"policyPackageName":{"task":"static","value":"lhTest_policy-package"},"policyName":{"task":"static","value":"lhTest_policy2_frIAP"}},"data_array":"","transformation":"","loopType":""},"outgoing":{"job_details":""}},"actor":"job","groups":[],"nodeLocation":{"x":0,"y":-300}}},"transitions":{"workflow_start":{"81cd":{"state":"success","type":"standard"}},"workflow_end":{},"81cd":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"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":-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 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":-588}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-1212}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-168}},"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/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":-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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}},"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":-1104}},"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":-888}},"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":-696}},"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":-792}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"c5b1":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"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"}},"4e49":{"8640":{"state":"success","type":"standard"}},"30ef":{"4e49":{"state":"success","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-06-13T17:32:26.503Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"4.69.69","created":"2025-06-05T21:04:01.032Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"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":-168}},"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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"8640":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"601b":{"92ed":{"state":"success","type":"standard"}},"4d1e":{"50cc":{"state":"success","type":"standard"}},"50cc":{"workflow_end":{"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-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":53,"reference":"e3bd8e64-492c-4bb2-9566-969cb2018a26","type":"workflow","folder":"/Delete Objects","document":{"name":"Delete Adom","tasks":{"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":-168}},"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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"8640":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"601b":{"92ed":{"state":"success","type":"standard"}},"4d1e":{"50cc":{"state":"success","type":"standard"}},"50cc":{"workflow_end":{"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-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":54,"reference":"38258d9b-ecde-4244-8909-7f6d26047bfb","type":"workflow","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"name":"Create Firewall Policy","tasks":{"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.f207.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":780}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new firewall policy","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"4c23":{"name":"stub","canvasName":"stub","summary":"(Optional) Move policy (ordering)","description":"If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move","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":552}},"a050":{"name":"stub","canvasName":"stub","summary":"(Optional) Install the Policy Package to Devices","description":"POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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":648}},"a6ad":{"name":"stub","canvasName":"stub","summary":"README","description":"\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy4_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)\n3. policyName - name of the policy to add\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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare 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":"683f2241a3e4e1e6bbb279c9","variableMap":{"FWPolicyPayload":{},"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName","policyName":"$var.job.policyName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"y":780}},"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 firewall policy payload."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-672,"y":168}},"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":-672,"y":348}},"f207":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Get FW Policy\" ","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 \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\",\n \"data\": [\n {\n \"name\": \"\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.eaf5.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":168}},"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"}},{"key":"policyName","value":{"task":"job","variable":"policyName"}}]},"outgoing":{"merged_object":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-72}}},"transitions":{"9955":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"4c23":{"a050":{"state":"success","type":"standard"}},"a050":{"workflow_end":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"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":{"type":"standard","state":"error"}},"eaf5":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":"string","examples":["lhTest_policy2_frIAP"]}},"required":["adomName","policyPackageName","policyName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":"string","examples":["lhTest_policy2_frIAP"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:32:26.503Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"4.69.69","created":"2025-04-29T20:32:09.925Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":55,"reference":"1cbc8be8-38d2-4284-a5e2-d96570ba0aa8","type":"workflow","folder":"/Update Firewall Policy","document":{"name":"Update 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":-660}},"8372":{"name":"makeData","canvasName":"makeData","summary":"Prep Query","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":"response.result[0].data[name=].policyid","outputType":"string","variables":"$var.2110.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-300}},"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":432}},"397a":{"name":"stub","canvasName":"stub","summary":"Get firewall policy ID","description":"Get the firewall policy ID by:\n\n1. Get a list of all firewall policies for the specified adom and policy package.\n2. Query out the policyid that matches the policy name.\n\nUpdate payload requires policy ID. Using policy name will not work.","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":-540}},"4c23":{"name":"stub","canvasName":"stub","summary":"(Optional) Move policy (ordering)","description":"If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move","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":204}},"a050":{"name":"stub","canvasName":"stub","summary":"(Optional) Install the Policy Package to Devices","description":"POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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":300}},"a6ad":{"name":"stub","canvasName":"stub","summary":"README","description":"\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy2_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)\n3. policyName - name of the policy to add\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":-888}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Update 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":"6840008662116438683f993c","variableMap":{"FWPolicyPayload":{},"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName","policyID":"$var.a8b0.return_data"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-48}},"21dc":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Update 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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":60}},"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":-768}},"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":-756,"y":432}},"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 firewall policy payload."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-756,"y":-48}},"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":-756,"y":60}},"b2b9":{"name":"stub","canvasName":"stub","summary":"Create new firewall policy","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":-132}},"42cd":{"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.4a97.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-420}},"a8b0":{"name":"query","canvasName":"query","summary":"Get Firewall PolicyID","description":"Query data using a dot/bracket notation string and a matching key/value pair.","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":348,"y":-180}},"4a97":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Get FW Policy List\" ","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\": \"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":348,"y":-540}},"39d0":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Update FW Policy\" ","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\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/}/pkg//firewall/policy\",\n \"data\": [\n {\n \"policyid\": \"\",\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.2110.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-48}},"cc40":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Update 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.39d0.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":60}}},"transitions":{"2110":{"397a":{"state":"success","type":"standard"}},"8372":{"a8b0":{"state":"success","type":"standard"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"4a97":{"state":"success","type":"standard"}},"4c23":{"a050":{"state":"success","type":"standard"}},"a050":{"workflow_end":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"type":"standard","state":"success"},"4a48":{"type":"standard","state":"error"}},"21dc":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"failure"}},"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"}},"b2b9":{"09a6":{"state":"success","type":"standard"},"39d0":{"type":"standard","state":"failure"}},"42cd":{"8372":{"state":"success","type":"standard"}},"a8b0":{"b2b9":{"state":"success","type":"standard"}},"4a97":{"42cd":{"state":"success","type":"standard"}},"39d0":{"cc40":{"state":"success","type":"standard"}},"cc40":{"4c23":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":["array","boolean","null","number","object","string"]}},"required":["adomName","policyPackageName","policyName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"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-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"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":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":564}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new Adom","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Create Policy Package Payload","description":"Perform a JSON Transformation using the JST library.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"tr_id":"684836f21c63275a329f412e","variableMap":{"adomName":"$var.job.adomName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"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":-672,"y":168}},"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":-672,"y":348}},"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":300,"y":168}},"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":-72}}},"transitions":{"9955":{"workflow_end":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"c0e5":{"type":"standard","state":"error"},"workflow_end":{"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":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]}},"required":["adomName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"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":"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":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":564}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new Policy Package","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Create Policy Package","description":"Perform a JSON Transformation using the JST library.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"tr_id":"684837741c63275a329f412f","variableMap":{"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Create Policy Package","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":"$var.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"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 policy package seats."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-672,"y":168}},"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":-672,"y":348}},"f207":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Create Policy Package\"","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 \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/\",\n \"data\": [\n {\n \"name\": \"\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.eaf5.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":168}},"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":-72}}},"transitions":{"9955":{"workflow_end":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"c0e5":{"type":"standard","state":"error"},"workflow_end":{"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":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]}},"required":["adomName","policyPackageName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:32:26.503Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":41,"reference":"683f2241a3e4e1e6bbb279c9","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"683f2241a3e4e1e6bbb279c9","name":"Prepare Create Firewall Policy Payload","description":"","incoming":[{"$id":"FWPolicyPayload","type":"object","properties":{"id":{"type":"integer","examples":[1]},"method":{"type":"string","examples":["add"]},"params":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","examples":["/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","examples":["lhTest_policy1_frIAP"]},"srcintf":{"type":"array","items":{"type":"string","examples":["any"]}},"dstintf":{"type":"array","items":{"type":"string","examples":["any"]}},"srcaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"dstaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"action":{"type":"string","examples":["accept"]},"schedule":{"type":"array","items":{"type":"string","examples":["always"]}},"service":{"type":"array","items":{"type":"string","examples":["ALL"]}},"status":{"type":"string","examples":["enable"]},"logtraffic":{"type":"string","examples":["all"]}},"required":[]}}},"required":[]}}},"required":[]},{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]},{"$id":"policyName","type":"string","examples":["lhTest_policy2_frIAP"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"name\": \"${policy_name}\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","args":[null,null,null],"view":{"row":2,"col":2},"context":"#"},{"id":11,"type":"assign","from":{"location":"incoming","name":"policyName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/2/value"},"context":"#"},{"id":12,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.152Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:32:26.509Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"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-13T17:32:25.147Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:32:26.509Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":44,"reference":"6840008662116438683f993c","type":"transformation","folder":"/Update Firewall Policy","document":{"_id":"6840008662116438683f993c","name":"Prepare Update Firewall Policy Payload","description":"","incoming":[{"$id":"FWPolicyPayload","type":"object","properties":{"id":{"type":"integer","examples":[1]},"method":{"type":"string","examples":["add"]},"params":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","examples":["/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","examples":["lhTest_policy1_frIAP"]},"srcintf":{"type":"array","items":{"type":"string","examples":["any"]}},"dstintf":{"type":"array","items":{"type":"string","examples":["any"]}},"srcaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"dstaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"action":{"type":"string","examples":["accept"]},"schedule":{"type":"array","items":{"type":"string","examples":["always"]}},"service":{"type":"array","items":{"type":"string","examples":["ALL"]}},"status":{"type":"string","examples":["enable"]},"logtraffic":{"type":"string","examples":["all"]}},"required":[]}}},"required":[]}}},"required":[]},{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]},{"$id":"policyID","type":"integer","examples":[8]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"policyid\": ${policy_id},\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","args":[null,null,null],"view":{"row":2,"col":2},"context":"#"},{"id":12,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"policyID","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/2/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.164Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:32:26.509Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":59,"reference":"684836f21c63275a329f412e","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"684836f21c63275a329f412e","name":"Prepare Create Adom Payload","description":"","incoming":[{"$id":"adomName","type":"string","examples":["root"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"method\": \"add\",\n \"params\": [\n {\n \"data\": [\n {\n \"name\": \"${adom}\"\n }\n ],\n \"url\": \"/dvmdb/adom\"\n }\n ]\n\n}","args":[null],"view":{"row":2,"col":2},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.180Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:32:26.509Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":60,"reference":"684837741c63275a329f412f","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"684837741c63275a329f412f","name":"Prepare Create Policy Package","description":"","incoming":[{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/${adom}\",\n \"data\": [\n {\n \"name\": \"${policy_package}\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n\n}\n","args":[null,null],"view":{"row":2,"col":2},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.181Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:32:26.509Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":56,"reference":"68407bdffb43d1b9e324b650","type":"jsonForm","folder":"/","document":{"id":"68407bdffb43d1b9e324b650","created":"2025-06-04T17:01:19.348Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:32:26.507Z","lastUpdatedBy":"loan.huynh@itential.com","name":"FortiManager Create FW Policy","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"},{"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"},{"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"},{"nodeId":"4981a411-3e03-42c7-8c60-0962f4d5cb32","type":"string","title":"KEEP_Policy","description":"","placeholder":"Select an item","required":false,"enum":[],"enumNames":[],"binding":true,"rel":"collection","targetPointer":"/enum","method":"POST","uniqueItems":false,"base":"/FortiManager","href":"/getFirewallPolicyPackage","body":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":[],"filter":[],"option":[],"range":[],"sortings":[]},"sourcePointer":"/response/result/0/data","sourceKeyPointer":"/name"},{"nodeId":"875cfe72-5434-4e7b-be91-86e8ac404910","type":"string","title":"Text 2","description":"","placeholder":"Enter text","required":false,"readOnly":false,"binding":false,"rel":"item","targetPointer":"/default"}]},"schema":{"title":"FortiManager Create FW Policy","description":"","type":"object","required":["adom","policyName"],"properties":{"adom":{"type":"string","title":"Adom","_id":"/properties/adom","description":"","enum":[],"enumNames":[]},"policyPackage":{"type":"string","title":"Policy Package","_id":"/properties/policyPackage","description":"","enum":[],"enumNames":[]},"policyName":{"type":"string","title":"Policy Name","_id":"/properties/policyName","description":"Enter the Policy Name"},"keepPolicy":{"type":"string","title":"KEEP_Policy","_id":"/properties/keepPolicy","description":"","enum":[],"enumNames":[]},"text2":{"type":"string","title":"Text 2","_id":"/properties/text2","description":""}}},"uiSchema":{"adom":{"ui:placeholder":"Select an item"},"policyPackage":{"ui:placeholder":"Select an item"},"policyName":{"ui:placeholder":"Enter the Policy Name"},"keepPolicy":{"ui:placeholder":"Select an item"},"text2":{"ui:placeholder":"Enter text"}},"bindingSchema":{"properties":{"adom":{"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"}},"policyPackage":{"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"}},"keepPolicy":{"binding:method":"POST","binding:link":{"$ref":"/links","rel":"collection"},"binding:body":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":[],"filter":[],"option":[],"range":[],"sortings":[]},"binding:target":{"propertyPointer":"/enum"},"binding:hyperSchema":{"type":"object","base":"/FortiManager","links":[{"rel":"collection","href":"/getFirewallPolicyPackage","targetMediaType":"application/json","targetSchema":{"$ref":"#"},"variables":[]}]},"binding:source":{"propertyPointer":"/response/result/0/data","keyPointer":"/name"}}}},"validationSchema":{},"version":"2020.1"}},{"iid":62,"reference":"684c2a9f1c63275a329f4132","type":"jsonForm","folder":"/","document":{"id":"684c2a9f1c63275a329f4132","created":"2025-06-13T13:41:51.845Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:32:26.507Z","lastUpdatedBy":"loan.huynh@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":"FortiManager Delete Policy Package"}},{"iid":63,"reference":"684c5eb91c63275a329f4133","type":"jsonForm","folder":"/","document":{"id":"684c5eb91c63275a329f4133","created":"2025-06-13T17:24:09.733Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:32:26.507Z","lastUpdatedBy":"loan.huynh@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":"FortiManager Delete FW Policy"}},{"iid":64,"reference":"684c5f101c63275a329f4134","type":"jsonForm","folder":"/","document":{"id":"684c5f101c63275a329f4134","created":"2025-06-13T17:25:36.169Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:32:26.507Z","lastUpdatedBy":"loan.huynh@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":"FortiManager Delete Adom"}}],"folders":[{"nodeType":"folder","name":"ForTesting","children":[{"iid":40,"nodeType":"component"},{"iid":38,"nodeType":"component"},{"iid":39,"nodeType":"component"}]},{"nodeType":"folder","name":"Create Objects (Adom, Policy Pkg, Policy)","children":[{"iid":57,"nodeType":"component"},{"iid":59,"nodeType":"component"},{"iid":58,"nodeType":"component"},{"iid":60,"nodeType":"component"},{"iid":54,"nodeType":"component"},{"iid":41,"nodeType":"component"}]},{"nodeType":"folder","name":"Update Firewall Policy","children":[{"iid":55,"nodeType":"component"},{"iid":44,"nodeType":"component"}]},{"nodeType":"folder","name":"Delete Objects","children":[{"iid":50,"nodeType":"component"},{"iid":52,"nodeType":"component"},{"iid":53,"nodeType":"component"}]},{"nodeType":"folder","name":"Shared Components","children":[{"iid":42,"nodeType":"component"}]},{"iid":45,"nodeType":"component"},{"iid":46,"nodeType":"component"},{"iid":56,"nodeType":"component"},{"iid":62,"nodeType":"component"},{"iid":63,"nodeType":"component"},{"iid":64,"nodeType":"component"}],"created":"2025-04-24T16:30:18.005Z","createdBy":{"_id":"6811213c0b372eda73c63710","provenance":"local_aaa","username":"admin@pronghorn"},"lastUpdated":"2025-06-13T17:30:51.815Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"iid":145,"thumbnail":"data:image/png;base64,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","backgroundColor":"#FFFFFF","referencedComponentHashes":[{"type":"automation","reference":"684c4a2c08571e92afb0afaa","name":"TDTest","hash":"b99e0a6187b814014b5848c3f666f48ee1429f9a"},{"type":"trigger","reference":"684c4bf408571e92afb0afab","name":"TestTrigger","hash":"d633b457afe8172694975f4fc260063121d74733"}]} \ No newline at end of file +{"_id":"680a671a3e055752b7abb534","name":"FortiManager","description":"","components":[{"iid":38,"reference":"0595c6a2-66c7-421c-8833-d99858c7e814","type":"workflow","folder":"/ForTesting","document":{"name":"fm_testFortiManager","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-684}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-300}},"cf92":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"List policy packages","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg/adom/root"}]},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-552}}},"transitions":{"workflow_start":{"cf92":{"state":"success","type":"standard"}},"workflow_end":{},"cf92":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:36:36.845Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"4.69.69","created":"2025-04-25T21:21:59.418Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":39,"reference":"26f50885-c3dd-4ac9-87b2-f5521085460b","type":"workflow","folder":"/ForTesting","document":{"name":"fm_testFortiManager2","tasks":{"4045":{"name":"genericAdapterRequest","canvasName":"genericAdapterRequest","summary":"Makes the requested generic call","description":"Makes the requested generic call","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"uriPath":"/jsonrpc","restMethod":"POST","queryData":"","requestBody":{"method":"get","params":[{"url":"/pm/config/adom/adom/pkg/{{policy-package}}/firewall/policy","fields":["obj seq","status","policyid","srcintf","dstintf","srcaddr","dstaddr","action","schedule","service","users","logtraffic","nat","name","comments","extra info"]}],"session":"{{fmg-session}}","verbose":1,"id":1},"addlHeaders":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-138}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-684}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":12}},"a309":{"name":"getFirewallPolicyPackage","canvasName":"getFirewallPolicyPackage","summary":"Get FW Policy Packages","description":"call to get firewall policy package","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"root","packid":"5964","policy":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-288}},"cf92":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"List policy packages","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg"}],"verbose":1,"id":1},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-552}},"c5c6":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Get the \"default\" policy package","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg/adom/default"}],"verbose":1,"id":1},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-420}}},"transitions":{"4045":{"workflow_end":{"state":"success","type":"standard"}},"workflow_start":{"cf92":{"state":"success","type":"standard"}},"workflow_end":{},"a309":{"4045":{"state":"success","type":"standard"}},"cf92":{"c5c6":{"state":"success","type":"standard"}},"c5c6":{"a309":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"lastUpdatedVersion":"4.69.69","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","last_updated":"2025-06-13T17:36:36.846Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"2025-05-06T13:59:07.934Z","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":40,"reference":"8e33a0dd-8192-4643-8a48-f73a17a5fd45","type":"workflow","folder":"/ForTesting","document":{"name":"lhTest_FortiManager","tasks":{"6437":{"name":"getScripts","canvasName":"getScripts","summary":"call to get Scripts","description":"call to get Scripts","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"script":"","expandMember":"","fields":"","filter":"","loadSub":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-12,"y":-60}},"workflow_start":{"name":"workflow_start","groups":[],"nodeLocation":{"x":96,"y":-432},"x":0,"y":0.5},"workflow_end":{"name":"workflow_end","groups":[],"nodeLocation":{"x":96,"y":204},"x":1,"y":0.5},"0385":{"name":"getFirewallPolicyPackage","canvasName":"getFirewallPolicyPackage","summary":"call to get firewall policy package","description":"call to get firewall policy package","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-300,"y":-60}},"88ab":{"name":"getDevices","canvasName":"getDevices","summary":"call to get Devices","description":"call to get Devices","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"device":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":276,"y":-60}},"86b5":{"name":"getDeviceInterfaces","canvasName":"getDeviceInterfaces","summary":"call to get device interfaces","description":"call to get device interfaces","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"device":"FGVM02TM24012094","vdomid":"","iface":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":564,"y":-60}},"e974":{"name":"getAdoms","canvasName":"getAdoms","summary":"call to get ADOMs","description":"call to get ADOMs","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":504,"y":-264}},"12c4":{"name":"getAdomScripts","canvasName":"getAdomScripts","summary":"call to get ADOM Scripts","description":"call to get ADOM Scripts","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"FortiFirewall","script":"","expandMember":"","fields":"","filter":"","loadSub":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-312,"y":-276}},"10c7":{"name":"getFirewallAddresses","canvasName":"getFirewallAddresses","summary":"call to get firewall addresses","description":"call to get firewall addresses","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"","address":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":120,"y":-228}},"00b3":{"name":"getAdomDevices","canvasName":"getAdomDevices","summary":"call to get ADOM Devices","description":"call to get ADOM Devices","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"FortiFirewall","device":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-312,"y":120}},"a646":{"name":"iapExpandedGenericAdapterRequest","canvasName":"iapExpandedGenericAdapterRequest","summary":"Makes the requested generic call with additional options","description":"Makes the requested generic call with additional options via metadata","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"metadata":"","uriPath":"/","restMethod":"POST","pathVars":"","queryData":"","requestBody":{"method":"get","params":[{"url":"/pm/pkg/adom/FortiFirewall"}],"verbose":1,"id":1},"addlHeaders":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":516,"y":132}}},"transitions":{"6437":{"workflow_end":{"state":"success","type":"standard"}},"workflow_start":{"6437":{"state":"success","type":"standard"},"0385":{"state":"success","type":"standard"},"88ab":{"state":"success","type":"standard"},"86b5":{"state":"success","type":"standard"},"e974":{"state":"success","type":"standard"},"12c4":{"state":"success","type":"standard"},"10c7":{"state":"success","type":"standard"},"00b3":{"state":"success","type":"standard"},"a646":{"state":"success","type":"standard"}},"workflow_end":{},"0385":{"workflow_end":{"state":"success","type":"standard"}},"88ab":{"workflow_end":{"state":"success","type":"standard"}},"86b5":{"workflow_end":{"state":"success","type":"standard"}},"e974":{"workflow_end":{"state":"success","type":"standard"}},"12c4":{"workflow_end":{"state":"success","type":"standard"}},"10c7":{"workflow_end":{"state":"success","type":"standard"}},"00b3":{"workflow_end":{"state":"success","type":"standard"}},"a646":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"errorHandler":null,"preAutomationTime":0,"sla":0,"lastUpdatedVersion":"4.69.69","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","last_updated":"2025-06-13T17:36:36.846Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"2025-05-08T07:43:22.575Z","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":45,"reference":"1fef4390-ff81-4adf-b71b-0961bde8c96c","type":"workflow","folder":"/","document":{"name":"FortiManager_main_createFW","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-500}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-84}},"81cd":{"name":"childJob","canvasName":"childJob","summary":"Run Create FW Child Job","description":"Runs a child job inside a workflow.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"task":"","workflow":"@680a671a3e055752b7abb534: Create Firewall Policy","variables":{"adomName":{"task":"static","value":"root"},"policyPackageName":{"task":"static","value":"lhTest_policy-package"},"policyName":{"task":"static","value":"lhTest_policy3_frIAP"}},"data_array":"","transformation":"","loopType":""},"outgoing":{"job_details":""}},"actor":"job","groups":[],"nodeLocation":{"x":0,"y":-324}}},"transitions":{"workflow_start":{"81cd":{"state":"success","type":"standard"}},"workflow_end":{},"81cd":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:36:45.673Z","lastUpdatedVersion":"5.55.5","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":46,"reference":"3e1e5d6f-5f4e-4560-b020-b00b5858ca99","type":"workflow","folder":"/","document":{"name":"FortiManager_main_updateFW","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-500}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-84}},"81cd":{"name":"childJob","canvasName":"childJob","summary":"Run Update FW Child Job","description":"Runs a child job inside a workflow.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"task":"","workflow":"@680a671a3e055752b7abb534: Update Firewall Policy","variables":{"adomName":{"task":"static","value":"root"},"policyPackageName":{"task":"static","value":"lhTest_policy-package"},"policyName":{"task":"static","value":"lhTest_policy2_frIAP"}},"data_array":"","transformation":"","loopType":""},"outgoing":{"job_details":""}},"actor":"job","groups":[],"nodeLocation":{"x":0,"y":-300}}},"transitions":{"workflow_start":{"81cd":{"state":"success","type":"standard"}},"workflow_end":{},"81cd":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:36:36.848Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"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":-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 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":-588}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-1212}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-168}},"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/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":-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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}},"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":-1104}},"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":-888}},"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":-696}},"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":-792}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"c5b1":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"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"}},"4e49":{"8640":{"state":"success","type":"standard"}},"30ef":{"4e49":{"state":"success","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-06-13T17:36:36.849Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"4.69.69","created":"2025-06-05T21:04:01.032Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"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":-168}},"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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"8640":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"601b":{"92ed":{"state":"success","type":"standard"}},"4d1e":{"50cc":{"state":"success","type":"standard"}},"50cc":{"workflow_end":{"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-06-13T17:36:36.847Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":53,"reference":"e3bd8e64-492c-4bb2-9566-969cb2018a26","type":"workflow","folder":"/Delete Objects","document":{"name":"Delete Adom","tasks":{"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":-168}},"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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"8640":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"601b":{"92ed":{"state":"success","type":"standard"}},"4d1e":{"50cc":{"state":"success","type":"standard"}},"50cc":{"workflow_end":{"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-06-13T17:36:36.849Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":54,"reference":"38258d9b-ecde-4244-8909-7f6d26047bfb","type":"workflow","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"name":"Create Firewall Policy","tasks":{"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.f207.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":780}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new firewall policy","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"4c23":{"name":"stub","canvasName":"stub","summary":"(Optional) Move policy (ordering)","description":"If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move","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":552}},"a050":{"name":"stub","canvasName":"stub","summary":"(Optional) Install the Policy Package to Devices","description":"POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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":648}},"a6ad":{"name":"stub","canvasName":"stub","summary":"README","description":"\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy4_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)\n3. policyName - name of the policy to add\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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare 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":"683f2241a3e4e1e6bbb279c9","variableMap":{"FWPolicyPayload":{},"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName","policyName":"$var.job.policyName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"y":780}},"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 firewall policy payload."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-672,"y":168}},"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":-672,"y":348}},"f207":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Get FW Policy\" ","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 \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\",\n \"data\": [\n {\n \"name\": \"\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.eaf5.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":168}},"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"}},{"key":"policyName","value":{"task":"job","variable":"policyName"}}]},"outgoing":{"merged_object":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-72}}},"transitions":{"9955":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"4c23":{"a050":{"state":"success","type":"standard"}},"a050":{"workflow_end":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"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":{"type":"standard","state":"error"}},"eaf5":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":"string","examples":["lhTest_policy2_frIAP"]}},"required":["adomName","policyPackageName","policyName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":"string","examples":["lhTest_policy2_frIAP"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:36:36.850Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"4.69.69","created":"2025-04-29T20:32:09.925Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":55,"reference":"1cbc8be8-38d2-4284-a5e2-d96570ba0aa8","type":"workflow","folder":"/Update Firewall Policy","document":{"name":"Update 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":-660}},"8372":{"name":"makeData","canvasName":"makeData","summary":"Prep Query","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":"response.result[0].data[name=].policyid","outputType":"string","variables":"$var.2110.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-300}},"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":432}},"397a":{"name":"stub","canvasName":"stub","summary":"Get firewall policy ID","description":"Get the firewall policy ID by:\n\n1. Get a list of all firewall policies for the specified adom and policy package.\n2. Query out the policyid that matches the policy name.\n\nUpdate payload requires policy ID. Using policy name will not work.","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":-540}},"4c23":{"name":"stub","canvasName":"stub","summary":"(Optional) Move policy (ordering)","description":"If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move","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":204}},"a050":{"name":"stub","canvasName":"stub","summary":"(Optional) Install the Policy Package to Devices","description":"POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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":300}},"a6ad":{"name":"stub","canvasName":"stub","summary":"README","description":"\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy2_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)\n3. policyName - name of the policy to add\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":-888}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Update 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":"6840008662116438683f993c","variableMap":{"FWPolicyPayload":{},"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName","policyID":"$var.a8b0.return_data"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-48}},"21dc":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Update 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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":60}},"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":-768}},"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":-756,"y":432}},"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 firewall policy payload."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-756,"y":-48}},"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":-756,"y":60}},"b2b9":{"name":"stub","canvasName":"stub","summary":"Create new firewall policy","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":-132}},"42cd":{"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.4a97.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-420}},"a8b0":{"name":"query","canvasName":"query","summary":"Get Firewall PolicyID","description":"Query data using a dot/bracket notation string and a matching key/value pair.","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":348,"y":-180}},"4a97":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Get FW Policy List\" ","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\": \"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":348,"y":-540}},"39d0":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Update FW Policy\" ","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\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/}/pkg//firewall/policy\",\n \"data\": [\n {\n \"policyid\": \"\",\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.2110.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-48}},"cc40":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Update 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.39d0.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":60}}},"transitions":{"2110":{"397a":{"state":"success","type":"standard"}},"8372":{"a8b0":{"state":"success","type":"standard"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"4a97":{"state":"success","type":"standard"}},"4c23":{"a050":{"state":"success","type":"standard"}},"a050":{"workflow_end":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"type":"standard","state":"success"},"4a48":{"type":"standard","state":"error"}},"21dc":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"failure"}},"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"}},"b2b9":{"09a6":{"state":"success","type":"standard"},"39d0":{"type":"standard","state":"failure"}},"42cd":{"8372":{"state":"success","type":"standard"}},"a8b0":{"b2b9":{"state":"success","type":"standard"}},"4a97":{"42cd":{"state":"success","type":"standard"}},"39d0":{"cc40":{"state":"success","type":"standard"}},"cc40":{"4c23":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":["array","boolean","null","number","object","string"]}},"required":["adomName","policyPackageName","policyName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"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-06-13T17:36:36.851Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"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":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":564}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new Adom","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Create Policy Package Payload","description":"Perform a JSON Transformation using the JST library.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"tr_id":"684836f21c63275a329f412e","variableMap":{"adomName":"$var.job.adomName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"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":-672,"y":168}},"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":-672,"y":348}},"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":300,"y":168}},"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":-72}}},"transitions":{"9955":{"workflow_end":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"c0e5":{"type":"standard","state":"error"},"workflow_end":{"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":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]}},"required":["adomName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:36:36.851Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"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":"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":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":564}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new Policy Package","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Create Policy Package","description":"Perform a JSON Transformation using the JST library.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"tr_id":"684837741c63275a329f412f","variableMap":{"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Create Policy Package","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":"$var.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"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 policy package seats."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-672,"y":168}},"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":-672,"y":348}},"f207":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Create Policy Package\"","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 \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/\",\n \"data\": [\n {\n \"name\": \"\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.eaf5.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":168}},"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":-72}}},"transitions":{"9955":{"workflow_end":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"c0e5":{"type":"standard","state":"error"},"workflow_end":{"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":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]}},"required":["adomName","policyPackageName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:36:36.853Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":41,"reference":"683f2241a3e4e1e6bbb279c9","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"683f2241a3e4e1e6bbb279c9","name":"Prepare Create Firewall Policy Payload","description":"","incoming":[{"$id":"FWPolicyPayload","type":"object","properties":{"id":{"type":"integer","examples":[1]},"method":{"type":"string","examples":["add"]},"params":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","examples":["/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","examples":["lhTest_policy1_frIAP"]},"srcintf":{"type":"array","items":{"type":"string","examples":["any"]}},"dstintf":{"type":"array","items":{"type":"string","examples":["any"]}},"srcaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"dstaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"action":{"type":"string","examples":["accept"]},"schedule":{"type":"array","items":{"type":"string","examples":["always"]}},"service":{"type":"array","items":{"type":"string","examples":["ALL"]}},"status":{"type":"string","examples":["enable"]},"logtraffic":{"type":"string","examples":["all"]}},"required":[]}}},"required":[]}}},"required":[]},{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]},{"$id":"policyName","type":"string","examples":["lhTest_policy2_frIAP"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"name\": \"${policy_name}\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","args":[null,null,null],"view":{"row":2,"col":2},"context":"#"},{"id":11,"type":"assign","from":{"location":"incoming","name":"policyName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/2/value"},"context":"#"},{"id":12,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.152Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:36:36.854Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"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-13T17:32:25.147Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:36:36.855Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":44,"reference":"6840008662116438683f993c","type":"transformation","folder":"/Update Firewall Policy","document":{"_id":"6840008662116438683f993c","name":"Prepare Update Firewall Policy Payload","description":"","incoming":[{"$id":"FWPolicyPayload","type":"object","properties":{"id":{"type":"integer","examples":[1]},"method":{"type":"string","examples":["add"]},"params":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","examples":["/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","examples":["lhTest_policy1_frIAP"]},"srcintf":{"type":"array","items":{"type":"string","examples":["any"]}},"dstintf":{"type":"array","items":{"type":"string","examples":["any"]}},"srcaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"dstaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"action":{"type":"string","examples":["accept"]},"schedule":{"type":"array","items":{"type":"string","examples":["always"]}},"service":{"type":"array","items":{"type":"string","examples":["ALL"]}},"status":{"type":"string","examples":["enable"]},"logtraffic":{"type":"string","examples":["all"]}},"required":[]}}},"required":[]}}},"required":[]},{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]},{"$id":"policyID","type":"integer","examples":[8]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"policyid\": ${policy_id},\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","args":[null,null,null],"view":{"row":2,"col":2},"context":"#"},{"id":12,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"policyID","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/2/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.164Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:36:36.856Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":59,"reference":"684836f21c63275a329f412e","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"684836f21c63275a329f412e","name":"Prepare Create Adom Payload","description":"","incoming":[{"$id":"adomName","type":"string","examples":["root"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"method\": \"add\",\n \"params\": [\n {\n \"data\": [\n {\n \"name\": \"${adom}\"\n }\n ],\n \"url\": \"/dvmdb/adom\"\n }\n ]\n\n}","args":[null],"view":{"row":2,"col":2},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.180Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:36:36.856Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":60,"reference":"684837741c63275a329f412f","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"684837741c63275a329f412f","name":"Prepare Create Policy Package","description":"","incoming":[{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/${adom}\",\n \"data\": [\n {\n \"name\": \"${policy_package}\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n\n}\n","args":[null,null],"view":{"row":2,"col":2},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.181Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:36:36.857Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":56,"reference":"68407bdffb43d1b9e324b650","type":"jsonForm","folder":"/","document":{"id":"68407bdffb43d1b9e324b650","created":"2025-06-04T17:01:19.348Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:36:36.858Z","lastUpdatedBy":"loan.huynh@itential.com","name":"FortiManager Create FW Policy","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"},{"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"},{"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"},{"nodeId":"4981a411-3e03-42c7-8c60-0962f4d5cb32","type":"string","title":"KEEP_Policy","description":"","placeholder":"Select an item","required":false,"enum":[],"enumNames":[],"binding":true,"rel":"collection","targetPointer":"/enum","method":"POST","uniqueItems":false,"base":"/FortiManager","href":"/getFirewallPolicyPackage","body":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":[],"filter":[],"option":[],"range":[],"sortings":[]},"sourcePointer":"/response/result/0/data","sourceKeyPointer":"/name"},{"nodeId":"875cfe72-5434-4e7b-be91-86e8ac404910","type":"string","title":"Text 2","description":"","placeholder":"Enter text","required":false,"readOnly":false,"binding":false,"rel":"item","targetPointer":"/default"}]},"schema":{"title":"FortiManager Create FW Policy","description":"","type":"object","required":["adom","policyName"],"properties":{"adom":{"type":"string","title":"Adom","_id":"/properties/adom","description":"","enum":[],"enumNames":[]},"policyPackage":{"type":"string","title":"Policy Package","_id":"/properties/policyPackage","description":"","enum":[],"enumNames":[]},"policyName":{"type":"string","title":"Policy Name","_id":"/properties/policyName","description":"Enter the Policy Name"},"keepPolicy":{"type":"string","title":"KEEP_Policy","_id":"/properties/keepPolicy","description":"","enum":[],"enumNames":[]},"text2":{"type":"string","title":"Text 2","_id":"/properties/text2","description":""}}},"uiSchema":{"adom":{"ui:placeholder":"Select an item"},"policyPackage":{"ui:placeholder":"Select an item"},"policyName":{"ui:placeholder":"Enter the Policy Name"},"keepPolicy":{"ui:placeholder":"Select an item"},"text2":{"ui:placeholder":"Enter text"}},"bindingSchema":{"properties":{"adom":{"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"}},"policyPackage":{"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"}},"keepPolicy":{"binding:method":"POST","binding:link":{"$ref":"/links","rel":"collection"},"binding:body":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":[],"filter":[],"option":[],"range":[],"sortings":[]},"binding:target":{"propertyPointer":"/enum"},"binding:hyperSchema":{"type":"object","base":"/FortiManager","links":[{"rel":"collection","href":"/getFirewallPolicyPackage","targetMediaType":"application/json","targetSchema":{"$ref":"#"},"variables":[]}]},"binding:source":{"propertyPointer":"/response/result/0/data","keyPointer":"/name"}}}},"validationSchema":{},"version":"2020.1"}},{"iid":62,"reference":"684c2a9f1c63275a329f4132","type":"jsonForm","folder":"/","document":{"id":"684c2a9f1c63275a329f4132","created":"2025-06-13T13:41:51.845Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:36:36.858Z","lastUpdatedBy":"loan.huynh@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":"FortiManager Delete Policy Package"}},{"iid":63,"reference":"684c5eb91c63275a329f4133","type":"jsonForm","folder":"/","document":{"id":"684c5eb91c63275a329f4133","created":"2025-06-13T17:24:09.733Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:36:36.859Z","lastUpdatedBy":"loan.huynh@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":"FortiManager Delete FW Policy"}},{"iid":64,"reference":"684c5f101c63275a329f4134","type":"jsonForm","folder":"/","document":{"id":"684c5f101c63275a329f4134","created":"2025-06-13T17:25:36.169Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:36:36.860Z","lastUpdatedBy":"loan.huynh@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":"FortiManager Delete Adom"}}],"folders":[{"nodeType":"folder","name":"ForTesting","children":[{"iid":40,"nodeType":"component"},{"iid":38,"nodeType":"component"},{"iid":39,"nodeType":"component"}]},{"nodeType":"folder","name":"Create Objects (Adom, Policy Pkg, Policy)","children":[{"iid":57,"nodeType":"component"},{"iid":59,"nodeType":"component"},{"iid":58,"nodeType":"component"},{"iid":60,"nodeType":"component"},{"iid":54,"nodeType":"component"},{"iid":41,"nodeType":"component"}]},{"nodeType":"folder","name":"Update Firewall Policy","children":[{"iid":55,"nodeType":"component"},{"iid":44,"nodeType":"component"}]},{"nodeType":"folder","name":"Delete Objects","children":[{"iid":50,"nodeType":"component"},{"iid":52,"nodeType":"component"},{"iid":53,"nodeType":"component"}]},{"nodeType":"folder","name":"Shared Components","children":[{"iid":42,"nodeType":"component"}]},{"iid":45,"nodeType":"component"},{"iid":46,"nodeType":"component"},{"iid":56,"nodeType":"component"},{"iid":62,"nodeType":"component"},{"iid":63,"nodeType":"component"},{"iid":64,"nodeType":"component"}],"created":"2025-04-24T16:30:18.005Z","createdBy":{"_id":"6811213c0b372eda73c63710","provenance":"local_aaa","username":"admin@pronghorn"},"lastUpdated":"2025-06-13T17:36:45.684Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"iid":145,"versionHistory":[{"versionNumber":2,"commitMessage":"moved task to test","author":"Loan","branchName":"devel"},{"versionNumber":1,"commitMessage":"init","author":"Loan","branchName":"psup-2352"}],"thumbnail":"data:image/png;base64,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","backgroundColor":"#FFFFFF","referencedComponentHashes":[{"type":"trigger","reference":"684c4bf408571e92afb0afab","name":"TestTrigger","hash":"d633b457afe8172694975f4fc260063121d74733"},{"type":"automation","reference":"684c4a2c08571e92afb0afaa","name":"TDTest","hash":"b99e0a6187b814014b5848c3f666f48ee1429f9a"}]} \ No newline at end of file From e54d3997150e1b7c0bd4303d0b3c60e036873b2f Mon Sep 17 00:00:00 2001 From: trinhdo Date: Fri, 13 Jun 2025 15:05:48 -0400 Subject: [PATCH 06/15] Update Project Modifications for Delete FW policy and adding forms for delete --- .../Projects/fortimanager.project.json | 7302 ++++++++++++++++- 1 file changed, 7301 insertions(+), 1 deletion(-) diff --git a/FortiManager/Projects/fortimanager.project.json b/FortiManager/Projects/fortimanager.project.json index 45cb81f..b60cacf 100644 --- a/FortiManager/Projects/fortimanager.project.json +++ b/FortiManager/Projects/fortimanager.project.json @@ -1 +1,7301 @@ -{"_id":"680a671a3e055752b7abb534","name":"FortiManager","description":"","components":[{"iid":38,"reference":"0595c6a2-66c7-421c-8833-d99858c7e814","type":"workflow","folder":"/ForTesting","document":{"name":"fm_testFortiManager","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-684}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-300}},"cf92":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"List policy packages","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg/adom/root"}]},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-552}}},"transitions":{"workflow_start":{"cf92":{"state":"success","type":"standard"}},"workflow_end":{},"cf92":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:36:36.845Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"4.69.69","created":"2025-04-25T21:21:59.418Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":39,"reference":"26f50885-c3dd-4ac9-87b2-f5521085460b","type":"workflow","folder":"/ForTesting","document":{"name":"fm_testFortiManager2","tasks":{"4045":{"name":"genericAdapterRequest","canvasName":"genericAdapterRequest","summary":"Makes the requested generic call","description":"Makes the requested generic call","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"uriPath":"/jsonrpc","restMethod":"POST","queryData":"","requestBody":{"method":"get","params":[{"url":"/pm/config/adom/adom/pkg/{{policy-package}}/firewall/policy","fields":["obj seq","status","policyid","srcintf","dstintf","srcaddr","dstaddr","action","schedule","service","users","logtraffic","nat","name","comments","extra info"]}],"session":"{{fmg-session}}","verbose":1,"id":1},"addlHeaders":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-138}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-684}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":12}},"a309":{"name":"getFirewallPolicyPackage","canvasName":"getFirewallPolicyPackage","summary":"Get FW Policy Packages","description":"call to get firewall policy package","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"root","packid":"5964","policy":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-288}},"cf92":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"List policy packages","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg"}],"verbose":1,"id":1},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-552}},"c5c6":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Get the \"default\" policy package","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":{"method":"get","params":[{"url":"/pm/pkg/adom/default"}],"verbose":1,"id":1},"adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-420}}},"transitions":{"4045":{"workflow_end":{"state":"success","type":"standard"}},"workflow_start":{"cf92":{"state":"success","type":"standard"}},"workflow_end":{},"a309":{"4045":{"state":"success","type":"standard"}},"cf92":{"c5c6":{"state":"success","type":"standard"}},"c5c6":{"a309":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"lastUpdatedVersion":"4.69.69","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","last_updated":"2025-06-13T17:36:36.846Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"2025-05-06T13:59:07.934Z","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":40,"reference":"8e33a0dd-8192-4643-8a48-f73a17a5fd45","type":"workflow","folder":"/ForTesting","document":{"name":"lhTest_FortiManager","tasks":{"6437":{"name":"getScripts","canvasName":"getScripts","summary":"call to get Scripts","description":"call to get Scripts","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"script":"","expandMember":"","fields":"","filter":"","loadSub":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-12,"y":-60}},"workflow_start":{"name":"workflow_start","groups":[],"nodeLocation":{"x":96,"y":-432},"x":0,"y":0.5},"workflow_end":{"name":"workflow_end","groups":[],"nodeLocation":{"x":96,"y":204},"x":1,"y":0.5},"0385":{"name":"getFirewallPolicyPackage","canvasName":"getFirewallPolicyPackage","summary":"call to get firewall policy package","description":"call to get firewall policy package","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-300,"y":-60}},"88ab":{"name":"getDevices","canvasName":"getDevices","summary":"call to get Devices","description":"call to get Devices","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"device":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":276,"y":-60}},"86b5":{"name":"getDeviceInterfaces","canvasName":"getDeviceInterfaces","summary":"call to get device interfaces","description":"call to get device interfaces","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"device":"FGVM02TM24012094","vdomid":"","iface":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":564,"y":-60}},"e974":{"name":"getAdoms","canvasName":"getAdoms","summary":"call to get ADOMs","description":"call to get ADOMs","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":504,"y":-264}},"12c4":{"name":"getAdomScripts","canvasName":"getAdomScripts","summary":"call to get ADOM Scripts","description":"call to get ADOM Scripts","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"FortiFirewall","script":"","expandMember":"","fields":"","filter":"","loadSub":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-312,"y":-276}},"10c7":{"name":"getFirewallAddresses","canvasName":"getFirewallAddresses","summary":"call to get firewall addresses","description":"call to get firewall addresses","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adomid":"","address":"","attr":"","fields":"","filter":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":120,"y":-228}},"00b3":{"name":"getAdomDevices","canvasName":"getAdomDevices","summary":"call to get ADOM Devices","description":"call to get ADOM Devices","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"adom":"FortiFirewall","device":"","expandMember":"","fields":"","filter":"","loadSub":"","metaFields":"","option":"","range":"","sortings":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-312,"y":120}},"a646":{"name":"iapExpandedGenericAdapterRequest","canvasName":"iapExpandedGenericAdapterRequest","summary":"Makes the requested generic call with additional options","description":"Makes the requested generic call with additional options via metadata","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"metadata":"","uriPath":"/","restMethod":"POST","pathVars":"","queryData":"","requestBody":{"method":"get","params":[{"url":"/pm/pkg/adom/FortiFirewall"}],"verbose":1,"id":1},"addlHeaders":"","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":516,"y":132}}},"transitions":{"6437":{"workflow_end":{"state":"success","type":"standard"}},"workflow_start":{"6437":{"state":"success","type":"standard"},"0385":{"state":"success","type":"standard"},"88ab":{"state":"success","type":"standard"},"86b5":{"state":"success","type":"standard"},"e974":{"state":"success","type":"standard"},"12c4":{"state":"success","type":"standard"},"10c7":{"state":"success","type":"standard"},"00b3":{"state":"success","type":"standard"},"a646":{"state":"success","type":"standard"}},"workflow_end":{},"0385":{"workflow_end":{"state":"success","type":"standard"}},"88ab":{"workflow_end":{"state":"success","type":"standard"}},"86b5":{"workflow_end":{"state":"success","type":"standard"}},"e974":{"workflow_end":{"state":"success","type":"standard"}},"12c4":{"workflow_end":{"state":"success","type":"standard"}},"10c7":{"workflow_end":{"state":"success","type":"standard"}},"00b3":{"workflow_end":{"state":"success","type":"standard"}},"a646":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"errorHandler":null,"preAutomationTime":0,"sla":0,"lastUpdatedVersion":"4.69.69","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","last_updated":"2025-06-13T17:36:36.846Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"2025-05-08T07:43:22.575Z","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":45,"reference":"1fef4390-ff81-4adf-b71b-0961bde8c96c","type":"workflow","folder":"/","document":{"name":"FortiManager_main_createFW","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-500}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-84}},"81cd":{"name":"childJob","canvasName":"childJob","summary":"Run Create FW Child Job","description":"Runs a child job inside a workflow.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"task":"","workflow":"@680a671a3e055752b7abb534: Create Firewall Policy","variables":{"adomName":{"task":"static","value":"root"},"policyPackageName":{"task":"static","value":"lhTest_policy-package"},"policyName":{"task":"static","value":"lhTest_policy3_frIAP"}},"data_array":"","transformation":"","loopType":""},"outgoing":{"job_details":""}},"actor":"job","groups":[],"nodeLocation":{"x":0,"y":-324}}},"transitions":{"workflow_start":{"81cd":{"state":"success","type":"standard"}},"workflow_end":{},"81cd":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:36:45.673Z","lastUpdatedVersion":"5.55.5","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":46,"reference":"3e1e5d6f-5f4e-4560-b020-b00b5858ca99","type":"workflow","folder":"/","document":{"name":"FortiManager_main_updateFW","tasks":{"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-500}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-84}},"81cd":{"name":"childJob","canvasName":"childJob","summary":"Run Update FW Child Job","description":"Runs a child job inside a workflow.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"task":"","workflow":"@680a671a3e055752b7abb534: Update Firewall Policy","variables":{"adomName":{"task":"static","value":"root"},"policyPackageName":{"task":"static","value":"lhTest_policy-package"},"policyName":{"task":"static","value":"lhTest_policy2_frIAP"}},"data_array":"","transformation":"","loopType":""},"outgoing":{"job_details":""}},"actor":"job","groups":[],"nodeLocation":{"x":0,"y":-300}}},"transitions":{"workflow_start":{"81cd":{"state":"success","type":"standard"}},"workflow_end":{},"81cd":{"workflow_end":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:36:36.848Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"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":-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 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":-588}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-1212}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":-168}},"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/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":-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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}},"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":-1104}},"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":-888}},"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":-696}},"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":-792}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"c5b1":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"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"}},"4e49":{"8640":{"state":"success","type":"standard"}},"30ef":{"4e49":{"state":"success","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-06-13T17:36:36.849Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"4.69.69","created":"2025-06-05T21:04:01.032Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"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":-168}},"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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"8640":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"601b":{"92ed":{"state":"success","type":"standard"}},"4d1e":{"50cc":{"state":"success","type":"standard"}},"50cc":{"workflow_end":{"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-06-13T17:36:36.847Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":53,"reference":"e3bd8e64-492c-4bb2-9566-969cb2018a26","type":"workflow","folder":"/Delete Objects","document":{"name":"Delete Adom","tasks":{"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":-168}},"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.4d1e.value"},"options":{"extractOutput":false,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"success":null,"reason":null,"type":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-168}}},"transitions":{"6878":{"601b":{"state":"success","type":"standard"}},"8640":{"6878":{"state":"success","type":"standard"}},"workflow_start":{"8640":{"state":"success","type":"standard"}},"workflow_end":{},"92ed":{"workflow_end":{"state":"success","type":"standard"},"4d1e":{"state":"failure","type":"standard"}},"601b":{"92ed":{"state":"success","type":"standard"}},"4d1e":{"50cc":{"state":"success","type":"standard"}},"50cc":{"workflow_end":{"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-06-13T17:36:36.849Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":54,"reference":"38258d9b-ecde-4244-8909-7f6d26047bfb","type":"workflow","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"name":"Create Firewall Policy","tasks":{"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.f207.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":780}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new firewall policy","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"4c23":{"name":"stub","canvasName":"stub","summary":"(Optional) Move policy (ordering)","description":"If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move","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":552}},"a050":{"name":"stub","canvasName":"stub","summary":"(Optional) Install the Policy Package to Devices","description":"POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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":648}},"a6ad":{"name":"stub","canvasName":"stub","summary":"README","description":"\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy4_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)\n3. policyName - name of the policy to add\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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare 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":"683f2241a3e4e1e6bbb279c9","variableMap":{"FWPolicyPayload":{},"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName","policyName":"$var.job.policyName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"y":780}},"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 firewall policy payload."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-672,"y":168}},"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":-672,"y":348}},"f207":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Get FW Policy\" ","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 \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\",\n \"data\": [\n {\n \"name\": \"\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.eaf5.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":168}},"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"}},{"key":"policyName","value":{"task":"job","variable":"policyName"}}]},"outgoing":{"merged_object":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":0,"y":-72}}},"transitions":{"9955":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"4c23":{"a050":{"state":"success","type":"standard"}},"a050":{"workflow_end":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"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":{"type":"standard","state":"error"}},"eaf5":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":"string","examples":["lhTest_policy2_frIAP"]}},"required":["adomName","policyPackageName","policyName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":"string","examples":["lhTest_policy2_frIAP"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:36:36.850Z","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"lastUpdatedVersion":"4.69.69","created":"2025-04-29T20:32:09.925Z","created_by":{"firstname":"admin","inactive":true,"provenance":"local_aaa","username":"admin@pronghorn"},"createdVersion":"5.55.2-2023.2.21","canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"iid":55,"reference":"1cbc8be8-38d2-4284-a5e2-d96570ba0aa8","type":"workflow","folder":"/Update Firewall Policy","document":{"name":"Update 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":-660}},"8372":{"name":"makeData","canvasName":"makeData","summary":"Prep Query","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":"response.result[0].data[name=].policyid","outputType":"string","variables":"$var.2110.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-300}},"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":432}},"397a":{"name":"stub","canvasName":"stub","summary":"Get firewall policy ID","description":"Get the firewall policy ID by:\n\n1. Get a list of all firewall policies for the specified adom and policy package.\n2. Query out the policyid that matches the policy name.\n\nUpdate payload requires policy ID. Using policy name will not work.","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":-540}},"4c23":{"name":"stub","canvasName":"stub","summary":"(Optional) Move policy (ordering)","description":"If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move","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":204}},"a050":{"name":"stub","canvasName":"stub","summary":"(Optional) Install the Policy Package to Devices","description":"POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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":300}},"a6ad":{"name":"stub","canvasName":"stub","summary":"README","description":"\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy2_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)\n3. policyName - name of the policy to add\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":-888}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Update 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":"6840008662116438683f993c","variableMap":{"FWPolicyPayload":{},"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName","policyID":"$var.a8b0.return_data"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":-48}},"21dc":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Update 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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-336,"y":60}},"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":-768}},"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":-756,"y":432}},"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 firewall policy payload."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-756,"y":-48}},"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":-756,"y":60}},"b2b9":{"name":"stub","canvasName":"stub","summary":"Create new firewall policy","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":-132}},"42cd":{"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.4a97.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-420}},"a8b0":{"name":"query","canvasName":"query","summary":"Get Firewall PolicyID","description":"Query data using a dot/bracket notation string and a matching key/value pair.","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":348,"y":-180}},"4a97":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Get FW Policy List\" ","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\": \"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":348,"y":-540}},"39d0":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Update FW Policy\" ","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\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/}/pkg//firewall/policy\",\n \"data\": [\n {\n \"policyid\": \"\",\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.2110.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":-48}},"cc40":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Update 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.39d0.output","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":348,"y":60}}},"transitions":{"2110":{"397a":{"state":"success","type":"standard"}},"8372":{"a8b0":{"state":"success","type":"standard"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"4a97":{"state":"success","type":"standard"}},"4c23":{"a050":{"state":"success","type":"standard"}},"a050":{"workflow_end":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"type":"standard","state":"success"},"4a48":{"type":"standard","state":"error"}},"21dc":{"4c23":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"failure"}},"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"}},"b2b9":{"09a6":{"state":"success","type":"standard"},"39d0":{"type":"standard","state":"failure"}},"42cd":{"8372":{"state":"success","type":"standard"}},"a8b0":{"b2b9":{"state":"success","type":"standard"}},"4a97":{"42cd":{"state":"success","type":"standard"}},"39d0":{"cc40":{"state":"success","type":"standard"}},"cc40":{"4c23":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"type":["array","boolean","null","number","object","string"]}},"required":["adomName","policyPackageName","policyName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"policyName":{"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-06-13T17:36:36.851Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"canvasVersion":3,"tags":[],"groups":[],"migrationVersion":6}},{"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":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":564}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new Adom","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Create Policy Package Payload","description":"Perform a JSON Transformation using the JST library.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"tr_id":"684836f21c63275a329f412e","variableMap":{"adomName":"$var.job.adomName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"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.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"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":-672,"y":168}},"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":-672,"y":348}},"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":300,"y":168}},"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":-72}}},"transitions":{"9955":{"workflow_end":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"c0e5":{"type":"standard","state":"error"},"workflow_end":{"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":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]}},"required":["adomName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:36:36.851Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"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":"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":300,"y":348}},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5,"nodeLocation":{"x":0,"y":-336}},"workflow_end":{"name":"workflow_end","groups":[],"x":1,"y":0.5,"nodeLocation":{"x":0,"y":564}},"397a":{"name":"stub","canvasName":"stub","summary":"Create new Policy Package","description":"POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy","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":12}},"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":-240}},"09a6":{"name":"transformation","canvasName":"transformation","summary":"Prepare Create Policy Package","description":"Perform a JSON Transformation using the JST library.","location":"Application","locationType":null,"app":"WorkFlowEngine","type":"operation","displayName":"WorkFlowEngine","variables":{"incoming":{"tr_id":"684837741c63275a329f412f","variableMap":{"adomName":"$var.job.adomName","policyPackageName":"$var.job.policyPackageName"},"options":{"extractOutput":true,"validateIncoming":true,"revertToDefaultValue":true}},"outgoing":{"FWPolicyObject":null},"decorators":[]},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":168}},"21dc":{"name":"postJsonrpc","canvasName":"postJsonrpc","summary":"Create Policy Package","description":"This is a generic json rpc api request","location":"Adapter","locationType":"FortiManager","app":"FortiManager","type":"automatic","displayName":"FortiManager","variables":{"incoming":{"body":"$var.09a6.FWPolicyObject","adapter_id":"FortiManager"},"outgoing":{"result":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-288,"y":348}},"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":-156}},"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":-672,"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 policy package seats."},"outgoing":{"value":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":-672,"y":168}},"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":-672,"y":348}},"f207":{"name":"makeData","canvasName":"makeData","summary":"Create Payload - \"Create Policy Package\"","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 \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/\",\n \"data\": [\n {\n \"name\": \"\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n}","outputType":"json","variables":"$var.eaf5.merged_object"},"outgoing":{"output":""}},"actor":"Pronghorn","groups":[],"nodeLocation":{"x":300,"y":168}},"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":-72}}},"transitions":{"9955":{"workflow_end":{"state":"success","type":"standard"},"c0e5":{"type":"standard","state":"error"}},"workflow_start":{"a6ad":{"state":"success","type":"standard"}},"workflow_end":{},"397a":{"09a6":{"state":"success","type":"standard"},"f207":{"state":"success","type":"standard"}},"a6ad":{"c8d5":{"state":"success","type":"standard"}},"09a6":{"21dc":{"state":"success","type":"standard"},"4a48":{"type":"standard","state":"error"}},"21dc":{"c0e5":{"type":"standard","state":"error"},"workflow_end":{"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":{"397a":{"state":"success","type":"standard"}}},"inputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]}},"required":["adomName","policyPackageName"]},"outputSchema":{"type":"object","properties":{"adomName":{"type":"string","examples":["root"]},"policyPackageName":{"type":"string","examples":["lhTest_policy-package"]},"_id":{"type":"string","pattern":"^[0-9a-f]{24}$"},"initiator":{"type":"string"},"reason":{"type":"string"}}},"type":"automation","font_size":12,"last_updated":"2025-06-13T17:36:36.853Z","lastUpdatedVersion":"4.69.69","createdVersion":"5.55.2-2023.2.21","last_updated_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"created":"1970-01-01T00:00:00.000Z","canvasVersion":3,"created_by":{"provenance":"okta","username":"loan.huynh@itential.com","firstname":"Loan","inactive":false,"sso":true,"nameID":"loan.huynh@itential.com"},"tags":[],"groups":[],"migrationVersion":6}},{"iid":41,"reference":"683f2241a3e4e1e6bbb279c9","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"683f2241a3e4e1e6bbb279c9","name":"Prepare Create Firewall Policy Payload","description":"","incoming":[{"$id":"FWPolicyPayload","type":"object","properties":{"id":{"type":"integer","examples":[1]},"method":{"type":"string","examples":["add"]},"params":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","examples":["/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","examples":["lhTest_policy1_frIAP"]},"srcintf":{"type":"array","items":{"type":"string","examples":["any"]}},"dstintf":{"type":"array","items":{"type":"string","examples":["any"]}},"srcaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"dstaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"action":{"type":"string","examples":["accept"]},"schedule":{"type":"array","items":{"type":"string","examples":["always"]}},"service":{"type":"array","items":{"type":"string","examples":["ALL"]}},"status":{"type":"string","examples":["enable"]},"logtraffic":{"type":"string","examples":["all"]}},"required":[]}}},"required":[]}}},"required":[]},{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]},{"$id":"policyName","type":"string","examples":["lhTest_policy2_frIAP"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"name\": \"${policy_name}\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","args":[null,null,null],"view":{"row":2,"col":2},"context":"#"},{"id":11,"type":"assign","from":{"location":"incoming","name":"policyName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/2/value"},"context":"#"},{"id":12,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.152Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:36:36.854Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"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-13T17:32:25.147Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:36:36.855Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":44,"reference":"6840008662116438683f993c","type":"transformation","folder":"/Update Firewall Policy","document":{"_id":"6840008662116438683f993c","name":"Prepare Update Firewall Policy Payload","description":"","incoming":[{"$id":"FWPolicyPayload","type":"object","properties":{"id":{"type":"integer","examples":[1]},"method":{"type":"string","examples":["add"]},"params":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","examples":["/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy"]},"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","examples":["lhTest_policy1_frIAP"]},"srcintf":{"type":"array","items":{"type":"string","examples":["any"]}},"dstintf":{"type":"array","items":{"type":"string","examples":["any"]}},"srcaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"dstaddr":{"type":"array","items":{"type":"string","examples":["all"]}},"action":{"type":"string","examples":["accept"]},"schedule":{"type":"array","items":{"type":"string","examples":["always"]}},"service":{"type":"array","items":{"type":"string","examples":["ALL"]}},"status":{"type":"string","examples":["enable"]},"logtraffic":{"type":"string","examples":["all"]}},"required":[]}}},"required":[]}}},"required":[]},{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]},{"$id":"policyID","type":"integer","examples":[8]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"policyid\": ${policy_id},\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}","args":[null,null,null],"view":{"row":2,"col":2},"context":"#"},{"id":12,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"policyID","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/2/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.164Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:36:36.856Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":59,"reference":"684836f21c63275a329f412e","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"684836f21c63275a329f412e","name":"Prepare Create Adom Payload","description":"","incoming":[{"$id":"adomName","type":"string","examples":["root"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"method\": \"add\",\n \"params\": [\n {\n \"data\": [\n {\n \"name\": \"${adom}\"\n }\n ],\n \"url\": \"/dvmdb/adom\"\n }\n ]\n\n}","args":[null],"view":{"row":2,"col":2},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.180Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:36:36.856Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":60,"reference":"684837741c63275a329f412f","type":"transformation","folder":"/Create Objects (Adom, Policy Pkg, Policy)","document":{"_id":"684837741c63275a329f412f","name":"Prepare Create Policy Package","description":"","incoming":[{"$id":"adomName","type":"string","examples":["root"]},{"$id":"policyPackageName","type":"string","examples":["lhTest_policy-package"]}],"outgoing":[{"$id":"FWPolicyObject","type":"object","properties":{},"required":[]}],"steps":[{"id":4,"type":"template","library":"String","method":"templateLiteral","template":"{\n \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/${adom}\",\n \"data\": [\n {\n \"name\": \"${policy_package}\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n\n}\n","args":[null,null],"view":{"row":2,"col":2},"context":"#"},{"id":13,"type":"assign","from":{"location":"incoming","name":"adomName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/0/value"},"context":"#"},{"id":15,"type":"declaration","library":"Object","method":"new Object","args":[null],"view":{"row":2,"col":3},"context":"#"},{"id":16,"type":"assign","from":{"location":"template","name":4,"ptr":"/return"},"to":{"location":"declaration","name":15,"ptr":"/args/0/value"},"context":"#"},{"id":17,"type":"assign","from":{"location":"declaration","name":15,"ptr":"/return"},"to":{"location":"outgoing","name":"FWPolicyObject","ptr":""},"context":"#"},{"id":18,"type":"assign","from":{"location":"incoming","name":"policyPackageName","ptr":""},"to":{"location":"template","name":4,"ptr":"/args/1/value"},"context":"#"}],"functions":[],"comments":[],"view":{"col":4,"row":6},"created":"2025-06-13T17:32:25.181Z","createdBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"lastUpdated":"2025-06-13T17:36:36.857Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"version":"4.3.15","tags":[]}},{"iid":56,"reference":"68407bdffb43d1b9e324b650","type":"jsonForm","folder":"/","document":{"id":"68407bdffb43d1b9e324b650","created":"2025-06-04T17:01:19.348Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:36:36.858Z","lastUpdatedBy":"loan.huynh@itential.com","name":"FortiManager Create FW Policy","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"},{"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"},{"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"},{"nodeId":"4981a411-3e03-42c7-8c60-0962f4d5cb32","type":"string","title":"KEEP_Policy","description":"","placeholder":"Select an item","required":false,"enum":[],"enumNames":[],"binding":true,"rel":"collection","targetPointer":"/enum","method":"POST","uniqueItems":false,"base":"/FortiManager","href":"/getFirewallPolicyPackage","body":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":[],"filter":[],"option":[],"range":[],"sortings":[]},"sourcePointer":"/response/result/0/data","sourceKeyPointer":"/name"},{"nodeId":"875cfe72-5434-4e7b-be91-86e8ac404910","type":"string","title":"Text 2","description":"","placeholder":"Enter text","required":false,"readOnly":false,"binding":false,"rel":"item","targetPointer":"/default"}]},"schema":{"title":"FortiManager Create FW Policy","description":"","type":"object","required":["adom","policyName"],"properties":{"adom":{"type":"string","title":"Adom","_id":"/properties/adom","description":"","enum":[],"enumNames":[]},"policyPackage":{"type":"string","title":"Policy Package","_id":"/properties/policyPackage","description":"","enum":[],"enumNames":[]},"policyName":{"type":"string","title":"Policy Name","_id":"/properties/policyName","description":"Enter the Policy Name"},"keepPolicy":{"type":"string","title":"KEEP_Policy","_id":"/properties/keepPolicy","description":"","enum":[],"enumNames":[]},"text2":{"type":"string","title":"Text 2","_id":"/properties/text2","description":""}}},"uiSchema":{"adom":{"ui:placeholder":"Select an item"},"policyPackage":{"ui:placeholder":"Select an item"},"policyName":{"ui:placeholder":"Enter the Policy Name"},"keepPolicy":{"ui:placeholder":"Select an item"},"text2":{"ui:placeholder":"Enter text"}},"bindingSchema":{"properties":{"adom":{"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"}},"policyPackage":{"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"}},"keepPolicy":{"binding:method":"POST","binding:link":{"$ref":"/links","rel":"collection"},"binding:body":{"adomid":"root","packid":"lhTest_policy-package","policy":"","attr":"","fields":[],"filter":[],"option":[],"range":[],"sortings":[]},"binding:target":{"propertyPointer":"/enum"},"binding:hyperSchema":{"type":"object","base":"/FortiManager","links":[{"rel":"collection","href":"/getFirewallPolicyPackage","targetMediaType":"application/json","targetSchema":{"$ref":"#"},"variables":[]}]},"binding:source":{"propertyPointer":"/response/result/0/data","keyPointer":"/name"}}}},"validationSchema":{},"version":"2020.1"}},{"iid":62,"reference":"684c2a9f1c63275a329f4132","type":"jsonForm","folder":"/","document":{"id":"684c2a9f1c63275a329f4132","created":"2025-06-13T13:41:51.845Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:36:36.858Z","lastUpdatedBy":"loan.huynh@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":"FortiManager Delete Policy Package"}},{"iid":63,"reference":"684c5eb91c63275a329f4133","type":"jsonForm","folder":"/","document":{"id":"684c5eb91c63275a329f4133","created":"2025-06-13T17:24:09.733Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:36:36.859Z","lastUpdatedBy":"loan.huynh@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":"FortiManager Delete FW Policy"}},{"iid":64,"reference":"684c5f101c63275a329f4134","type":"jsonForm","folder":"/","document":{"id":"684c5f101c63275a329f4134","created":"2025-06-13T17:25:36.169Z","createdBy":"loan.huynh@itential.com","lastUpdated":"2025-06-13T17:36:36.860Z","lastUpdatedBy":"loan.huynh@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":"FortiManager Delete Adom"}}],"folders":[{"nodeType":"folder","name":"ForTesting","children":[{"iid":40,"nodeType":"component"},{"iid":38,"nodeType":"component"},{"iid":39,"nodeType":"component"}]},{"nodeType":"folder","name":"Create Objects (Adom, Policy Pkg, Policy)","children":[{"iid":57,"nodeType":"component"},{"iid":59,"nodeType":"component"},{"iid":58,"nodeType":"component"},{"iid":60,"nodeType":"component"},{"iid":54,"nodeType":"component"},{"iid":41,"nodeType":"component"}]},{"nodeType":"folder","name":"Update Firewall Policy","children":[{"iid":55,"nodeType":"component"},{"iid":44,"nodeType":"component"}]},{"nodeType":"folder","name":"Delete Objects","children":[{"iid":50,"nodeType":"component"},{"iid":52,"nodeType":"component"},{"iid":53,"nodeType":"component"}]},{"nodeType":"folder","name":"Shared Components","children":[{"iid":42,"nodeType":"component"}]},{"iid":45,"nodeType":"component"},{"iid":46,"nodeType":"component"},{"iid":56,"nodeType":"component"},{"iid":62,"nodeType":"component"},{"iid":63,"nodeType":"component"},{"iid":64,"nodeType":"component"}],"created":"2025-04-24T16:30:18.005Z","createdBy":{"_id":"6811213c0b372eda73c63710","provenance":"local_aaa","username":"admin@pronghorn"},"lastUpdated":"2025-06-13T17:36:45.684Z","lastUpdatedBy":{"_id":"681234ab0b98f9bb9fc0d0f9","provenance":"okta","username":"loan.huynh@itential.com"},"iid":145,"versionHistory":[{"versionNumber":2,"commitMessage":"moved task to test","author":"Loan","branchName":"devel"},{"versionNumber":1,"commitMessage":"init","author":"Loan","branchName":"psup-2352"}],"thumbnail":"data:image/png;base64,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","backgroundColor":"#FFFFFF","referencedComponentHashes":[{"type":"trigger","reference":"684c4bf408571e92afb0afab","name":"TestTrigger","hash":"d633b457afe8172694975f4fc260063121d74733"},{"type":"automation","reference":"684c4a2c08571e92afb0afaa","name":"TDTest","hash":"b99e0a6187b814014b5848c3f666f48ee1429f9a"}]} \ No newline at end of file +{ + "_id": "680a671a3e055752b7abb534", + "name": "FortiManager", + "description": "", + "components": [ + { + "iid": 38, + "reference": "0595c6a2-66c7-421c-8833-d99858c7e814", + "type": "workflow", + "folder": "/ForTesting", + "document": { + "name": "fm_testFortiManager", + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -684 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -300 + } + }, + "cf92": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "List policy packages", + "description": "This is a generic json rpc api request", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": { + "method": "get", + "params": [ + { + "url": "/pm/pkg/adom/root" + } + ] + }, + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -552 + } + } + }, + "transitions": { + "workflow_start": { + "cf92": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "cf92": { + "workflow_end": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-06-13T18:28:24.525Z", + "last_updated_by": { + "provenance": "okta", + "username": "trinh.do@itential.com", + "firstname": "Trinh", + "inactive": false, + "sso": true, + "nameID": "trinh.do@itential.com" + }, + "lastUpdatedVersion": "4.69.69", + "created": "2025-04-25T21:21:59.418Z", + "created_by": { + "firstname": "admin", + "inactive": true, + "provenance": "local_aaa", + "username": "admin@pronghorn" + }, + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 6 + } + }, + { + "iid": 39, + "reference": "26f50885-c3dd-4ac9-87b2-f5521085460b", + "type": "workflow", + "folder": "/ForTesting", + "document": { + "name": "fm_testFortiManager2", + "tasks": { + "4045": { + "name": "genericAdapterRequest", + "canvasName": "genericAdapterRequest", + "summary": "Makes the requested generic call", + "description": "Makes the requested generic call", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "uriPath": "/jsonrpc", + "restMethod": "POST", + "queryData": "", + "requestBody": { + "method": "get", + "params": [ + { + "url": "/pm/config/adom/adom/pkg/{{policy-package}}/firewall/policy", + "fields": [ + "obj seq", + "status", + "policyid", + "srcintf", + "dstintf", + "srcaddr", + "dstaddr", + "action", + "schedule", + "service", + "users", + "logtraffic", + "nat", + "name", + "comments", + "extra info" + ] + } + ], + "session": "{{fmg-session}}", + "verbose": 1, + "id": 1 + }, + "addlHeaders": "", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -138 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -684 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 12 + } + }, + "a309": { + "name": "getFirewallPolicyPackage", + "canvasName": "getFirewallPolicyPackage", + "summary": "Get FW Policy Packages", + "description": "call to get firewall policy package", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "adomid": "root", + "packid": "5964", + "policy": "", + "attr": "", + "fields": "", + "filter": "", + "option": "", + "range": "", + "sortings": "", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -288 + } + }, + "cf92": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "List policy packages", + "description": "This is a generic json rpc api request", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": { + "method": "get", + "params": [ + { + "url": "/pm/pkg" + } + ], + "verbose": 1, + "id": 1 + }, + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -552 + } + }, + "c5c6": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Get the \"default\" policy package", + "description": "This is a generic json rpc api request", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": { + "method": "get", + "params": [ + { + "url": "/pm/pkg/adom/default" + } + ], + "verbose": 1, + "id": 1 + }, + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -420 + } + } + }, + "transitions": { + "4045": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "cf92": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "a309": { + "4045": { + "state": "success", + "type": "standard" + } + }, + "cf92": { + "c5c6": { + "state": "success", + "type": "standard" + } + }, + "c5c6": { + "a309": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "lastUpdatedVersion": "4.69.69", + "created_by": { + "firstname": "admin", + "inactive": true, + "provenance": "local_aaa", + "username": "admin@pronghorn" + }, + "createdVersion": "5.55.2-2023.2.21", + "last_updated": "2025-06-13T18:28:24.526Z", + "last_updated_by": { + "provenance": "okta", + "username": "trinh.do@itential.com", + "firstname": "Trinh", + "inactive": false, + "sso": true, + "nameID": "trinh.do@itential.com" + }, + "created": "2025-05-06T13:59:07.934Z", + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 6 + } + }, + { + "iid": 40, + "reference": "8e33a0dd-8192-4643-8a48-f73a17a5fd45", + "type": "workflow", + "folder": "/ForTesting", + "document": { + "name": "lhTest_FortiManager", + "tasks": { + "6437": { + "name": "getScripts", + "canvasName": "getScripts", + "summary": "call to get Scripts", + "description": "call to get Scripts", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "script": "", + "expandMember": "", + "fields": "", + "filter": "", + "loadSub": "", + "option": "", + "range": "", + "sortings": "", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -12, + "y": -60 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 96, + "y": -432 + }, + "x": 0, + "y": 0.5 + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 96, + "y": 204 + }, + "x": 1, + "y": 0.5 + }, + "0385": { + "name": "getFirewallPolicyPackage", + "canvasName": "getFirewallPolicyPackage", + "summary": "call to get firewall policy package", + "description": "call to get firewall policy package", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "adomid": "root", + "packid": "lhTest_policy-package", + "policy": "", + "attr": "", + "fields": "", + "filter": "", + "option": "", + "range": "", + "sortings": "", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -300, + "y": -60 + } + }, + "88ab": { + "name": "getDevices", + "canvasName": "getDevices", + "summary": "call to get Devices", + "description": "call to get Devices", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "device": "", + "expandMember": "", + "fields": "", + "filter": "", + "loadSub": "", + "metaFields": "", + "option": "", + "range": "", + "sortings": "", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 276, + "y": -60 + } + }, + "86b5": { + "name": "getDeviceInterfaces", + "canvasName": "getDeviceInterfaces", + "summary": "call to get device interfaces", + "description": "call to get device interfaces", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "device": "FGVM02TM24012094", + "vdomid": "", + "iface": "", + "attr": "", + "fields": "", + "filter": "", + "option": "", + "range": "", + "sortings": "", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 564, + "y": -60 + } + }, + "e974": { + "name": "getAdoms", + "canvasName": "getAdoms", + "summary": "call to get ADOMs", + "description": "call to get ADOMs", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "adom": "", + "expandMember": "", + "fields": "", + "filter": "", + "loadSub": "", + "metaFields": "", + "option": "", + "range": "", + "sortings": "", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 504, + "y": -264 + } + }, + "12c4": { + "name": "getAdomScripts", + "canvasName": "getAdomScripts", + "summary": "call to get ADOM Scripts", + "description": "call to get ADOM Scripts", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "adom": "FortiFirewall", + "script": "", + "expandMember": "", + "fields": "", + "filter": "", + "loadSub": "", + "option": "", + "range": "", + "sortings": "", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -312, + "y": -276 + } + }, + "10c7": { + "name": "getFirewallAddresses", + "canvasName": "getFirewallAddresses", + "summary": "call to get firewall addresses", + "description": "call to get firewall addresses", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "adomid": "", + "address": "", + "attr": "", + "fields": "", + "filter": "", + "option": "", + "range": "", + "sortings": "", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 120, + "y": -228 + } + }, + "00b3": { + "name": "getAdomDevices", + "canvasName": "getAdomDevices", + "summary": "call to get ADOM Devices", + "description": "call to get ADOM Devices", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "adom": "FortiFirewall", + "device": "", + "expandMember": "", + "fields": "", + "filter": "", + "loadSub": "", + "metaFields": "", + "option": "", + "range": "", + "sortings": "", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -312, + "y": 120 + } + }, + "a646": { + "name": "iapExpandedGenericAdapterRequest", + "canvasName": "iapExpandedGenericAdapterRequest", + "summary": "Makes the requested generic call with additional options", + "description": "Makes the requested generic call with additional options via metadata", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "metadata": "", + "uriPath": "/", + "restMethod": "POST", + "pathVars": "", + "queryData": "", + "requestBody": { + "method": "get", + "params": [ + { + "url": "/pm/pkg/adom/FortiFirewall" + } + ], + "verbose": 1, + "id": 1 + }, + "addlHeaders": "", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 516, + "y": 132 + } + } + }, + "transitions": { + "6437": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "6437": { + "state": "success", + "type": "standard" + }, + "0385": { + "state": "success", + "type": "standard" + }, + "88ab": { + "state": "success", + "type": "standard" + }, + "86b5": { + "state": "success", + "type": "standard" + }, + "e974": { + "state": "success", + "type": "standard" + }, + "12c4": { + "state": "success", + "type": "standard" + }, + "10c7": { + "state": "success", + "type": "standard" + }, + "00b3": { + "state": "success", + "type": "standard" + }, + "a646": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "0385": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "88ab": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "86b5": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "e974": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "12c4": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "10c7": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "00b3": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "a646": { + "workflow_end": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "errorHandler": null, + "preAutomationTime": 0, + "sla": 0, + "lastUpdatedVersion": "4.69.69", + "created_by": { + "firstname": "admin", + "inactive": true, + "provenance": "local_aaa", + "username": "admin@pronghorn" + }, + "createdVersion": "5.55.2-2023.2.21", + "last_updated": "2025-06-13T18:28:24.528Z", + "last_updated_by": { + "provenance": "okta", + "username": "trinh.do@itential.com", + "firstname": "Trinh", + "inactive": false, + "sso": true, + "nameID": "trinh.do@itential.com" + }, + "created": "2025-05-08T07:43:22.575Z", + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 6 + } + }, + { + "iid": 45, + "reference": "1fef4390-ff81-4adf-b71b-0961bde8c96c", + "type": "workflow", + "folder": "/", + "document": { + "name": "FortiManager_main_createFW", + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -500 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -84 + } + }, + "81cd": { + "name": "childJob", + "canvasName": "childJob", + "summary": "Run Create FW Child Job", + "description": "Runs a child job inside a workflow.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "task": "", + "workflow": "@680a671a3e055752b7abb534: Create Firewall Policy", + "variables": { + "adomName": { + "task": "static", + "value": "root" + }, + "policyPackageName": { + "task": "static", + "value": "lhTest_policy-package" + }, + "policyName": { + "task": "static", + "value": "lhTest_policy3_frIAP" + } + }, + "data_array": "", + "transformation": "", + "loopType": "" + }, + "outgoing": { + "job_details": "" + } + }, + "actor": "job", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -324 + } + } + }, + "transitions": { + "workflow_start": { + "81cd": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "81cd": { + "workflow_end": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-06-13T18:28:24.527Z", + "lastUpdatedVersion": "5.55.5", + "createdVersion": "5.55.2-2023.2.21", + "last_updated_by": { + "provenance": "okta", + "username": "trinh.do@itential.com", + "firstname": "Trinh", + "inactive": false, + "sso": true, + "nameID": "trinh.do@itential.com" + }, + "created": "1970-01-01T00:00:00.000Z", + "created_by": { + "provenance": "okta", + "username": "loan.huynh@itential.com", + "firstname": "Loan", + "inactive": false, + "sso": true, + "nameID": "loan.huynh@itential.com" + }, + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 6 + } + }, + { + "iid": 46, + "reference": "3e1e5d6f-5f4e-4560-b020-b00b5858ca99", + "type": "workflow", + "folder": "/", + "document": { + "name": "FortiManager_main_updateFW", + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -500 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -84 + } + }, + "81cd": { + "name": "childJob", + "canvasName": "childJob", + "summary": "Run Update FW Child Job", + "description": "Runs a child job inside a workflow.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "task": "", + "workflow": "@680a671a3e055752b7abb534: Update Firewall Policy", + "variables": { + "adomName": { + "task": "static", + "value": "root" + }, + "policyPackageName": { + "task": "static", + "value": "lhTest_policy-package" + }, + "policyName": { + "task": "static", + "value": "lhTest_policy2_frIAP" + } + }, + "data_array": "", + "transformation": "", + "loopType": "" + }, + "outgoing": { + "job_details": "" + } + }, + "actor": "job", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -300 + } + } + }, + "transitions": { + "workflow_start": { + "81cd": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "81cd": { + "workflow_end": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-06-13T18:28:24.529Z", + "lastUpdatedVersion": "4.69.69", + "createdVersion": "5.55.2-2023.2.21", + "last_updated_by": { + "provenance": "okta", + "username": "trinh.do@itential.com", + "firstname": "Trinh", + "inactive": false, + "sso": true, + "nameID": "trinh.do@itential.com" + }, + "created": "1970-01-01T00:00:00.000Z", + "created_by": { + "provenance": "okta", + "username": "loan.huynh@itential.com", + "firstname": "Loan", + "inactive": false, + "sso": true, + "nameID": "loan.huynh@itential.com" + }, + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 6 + } + }, + { + "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": null + }, + "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": { + "state": "failure", + "type": "standard" + } + }, + "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": "failure" + } + }, + "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-06-13T18:51:00.013Z", + "last_updated_by": { + "provenance": "okta", + "username": "trinh.do@itential.com", + "firstname": "Trinh", + "inactive": false, + "sso": true, + "nameID": "trinh.do@itential.com" + }, + "lastUpdatedVersion": "5.55.5", + "created": "2025-06-05T21:04:01.032Z", + "created_by": { + "firstname": "admin", + "inactive": true, + "provenance": "local_aaa", + "username": "admin@pronghorn" + }, + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 6 + } + }, + { + "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": -168 + } + }, + "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.4d1e.value" + }, + "options": { + "extractOutput": false, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -168 + } + } + }, + "transitions": { + "6878": { + "601b": { + "state": "success", + "type": "standard" + } + }, + "8640": { + "6878": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "8640": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "92ed": { + "workflow_end": { + "state": "success", + "type": "standard" + }, + "4d1e": { + "state": "failure", + "type": "standard" + } + }, + "601b": { + "92ed": { + "state": "success", + "type": "standard" + } + }, + "4d1e": { + "50cc": { + "state": "success", + "type": "standard" + } + }, + "50cc": { + "workflow_end": { + "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-06-13T18:28:24.530Z", + "lastUpdatedVersion": "4.69.69", + "createdVersion": "5.55.2-2023.2.21", + "last_updated_by": { + "provenance": "okta", + "username": "trinh.do@itential.com", + "firstname": "Trinh", + "inactive": false, + "sso": true, + "nameID": "trinh.do@itential.com" + }, + "created": "1970-01-01T00:00:00.000Z", + "canvasVersion": 3, + "created_by": { + "provenance": "okta", + "username": "loan.huynh@itential.com", + "firstname": "Loan", + "inactive": false, + "sso": true, + "nameID": "loan.huynh@itential.com" + }, + "tags": [], + "groups": [], + "migrationVersion": 6 + } + }, + { + "iid": 53, + "reference": "e3bd8e64-492c-4bb2-9566-969cb2018a26", + "type": "workflow", + "folder": "/Delete Objects", + "document": { + "name": "Delete Adom", + "tasks": { + "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": -168 + } + }, + "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.4d1e.value" + }, + "options": { + "extractOutput": false, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "success": null, + "reason": null, + "type": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -168 + } + } + }, + "transitions": { + "6878": { + "601b": { + "state": "success", + "type": "standard" + } + }, + "8640": { + "6878": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "8640": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "92ed": { + "workflow_end": { + "state": "success", + "type": "standard" + }, + "4d1e": { + "state": "failure", + "type": "standard" + } + }, + "601b": { + "92ed": { + "state": "success", + "type": "standard" + } + }, + "4d1e": { + "50cc": { + "state": "success", + "type": "standard" + } + }, + "50cc": { + "workflow_end": { + "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-06-13T18:28:24.530Z", + "lastUpdatedVersion": "4.69.69", + "createdVersion": "5.55.2-2023.2.21", + "last_updated_by": { + "provenance": "okta", + "username": "trinh.do@itential.com", + "firstname": "Trinh", + "inactive": false, + "sso": true, + "nameID": "trinh.do@itential.com" + }, + "created": "1970-01-01T00:00:00.000Z", + "canvasVersion": 3, + "created_by": { + "provenance": "okta", + "username": "loan.huynh@itential.com", + "firstname": "Loan", + "inactive": false, + "sso": true, + "nameID": "loan.huynh@itential.com" + }, + "tags": [], + "groups": [], + "migrationVersion": 6 + } + }, + { + "iid": 54, + "reference": "38258d9b-ecde-4244-8909-7f6d26047bfb", + "type": "workflow", + "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "document": { + "name": "Create Firewall Policy", + "tasks": { + "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.f207.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 300, + "y": 348 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -336 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 780 + } + }, + "397a": { + "name": "stub", + "canvasName": "stub", + "summary": "Create new firewall policy", + "description": "POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy", + "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": 12 + } + }, + "4c23": { + "name": "stub", + "canvasName": "stub", + "summary": "(Optional) Move policy (ordering)", + "description": "If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move", + "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": 552 + } + }, + "a050": { + "name": "stub", + "canvasName": "stub", + "summary": "(Optional) Install the Policy Package to Devices", + "description": "POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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": 648 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy4_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)\n3. policyName - name of the policy to add\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": -240 + } + }, + "09a6": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Prepare 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": "683f2241a3e4e1e6bbb279c9", + "variableMap": { + "FWPolicyPayload": {}, + "adomName": "$var.job.adomName", + "policyPackageName": "$var.job.policyPackageName", + "policyName": "$var.job.policyName" + }, + "options": { + "extractOutput": true, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "FWPolicyObject": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -288, + "y": 168 + } + }, + "21dc": { + "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.09a6.FWPolicyObject", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -288, + "y": 348 + } + }, + "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": -156 + } + }, + "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": -672, + "y": 780 + } + }, + "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 firewall policy payload." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -672, + "y": 168 + } + }, + "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": -672, + "y": 348 + } + }, + "f207": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create Payload - \"Get FW Policy\" ", + "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 \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\",\n \"data\": [\n {\n \"name\": \"\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}", + "outputType": "json", + "variables": "$var.eaf5.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 300, + "y": 168 + } + }, + "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" + } + }, + { + "key": "policyName", + "value": { + "task": "job", + "variable": "policyName" + } + } + ] + }, + "outgoing": { + "merged_object": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -72 + } + } + }, + "transitions": { + "9955": { + "4c23": { + "state": "success", + "type": "standard" + }, + "c0e5": { + "type": "standard", + "state": "error" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "397a": { + "09a6": { + "state": "success", + "type": "standard" + }, + "f207": { + "state": "success", + "type": "standard" + } + }, + "4c23": { + "a050": { + "state": "success", + "type": "standard" + } + }, + "a050": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "09a6": { + "21dc": { + "state": "success", + "type": "standard" + }, + "4a48": { + "type": "standard", + "state": "error" + } + }, + "21dc": { + "4c23": { + "state": "success", + "type": "standard" + }, + "c0e5": { + "type": "standard", + "state": "error" + } + }, + "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": { + "type": "standard", + "state": "error" + } + }, + "eaf5": { + "397a": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": "string", + "examples": [ + "root" + ] + }, + "policyPackageName": { + "type": "string", + "examples": [ + "lhTest_policy-package" + ] + }, + "policyName": { + "type": "string", + "examples": [ + "lhTest_policy2_frIAP" + ] + } + }, + "required": [ + "adomName", + "policyPackageName", + "policyName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": "string", + "examples": [ + "root" + ] + }, + "policyPackageName": { + "type": "string", + "examples": [ + "lhTest_policy-package" + ] + }, + "policyName": { + "type": "string", + "examples": [ + "lhTest_policy2_frIAP" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-06-13T18:28:24.531Z", + "last_updated_by": { + "provenance": "okta", + "username": "trinh.do@itential.com", + "firstname": "Trinh", + "inactive": false, + "sso": true, + "nameID": "trinh.do@itential.com" + }, + "lastUpdatedVersion": "4.69.69", + "created": "2025-04-29T20:32:09.925Z", + "created_by": { + "firstname": "admin", + "inactive": true, + "provenance": "local_aaa", + "username": "admin@pronghorn" + }, + "createdVersion": "5.55.2-2023.2.21", + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 6 + } + }, + { + "iid": 55, + "reference": "1cbc8be8-38d2-4284-a5e2-d96570ba0aa8", + "type": "workflow", + "folder": "/Update Firewall Policy", + "document": { + "name": "Update 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": -660 + } + }, + "8372": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Prep Query", + "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": "response.result[0].data[name=].policyid", + "outputType": "string", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 348, + "y": -300 + } + }, + "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": 432 + } + }, + "397a": { + "name": "stub", + "canvasName": "stub", + "summary": "Get firewall policy ID", + "description": "Get the firewall policy ID by:\n\n1. Get a list of all firewall policies for the specified adom and policy package.\n2. Query out the policyid that matches the policy name.\n\nUpdate payload requires policy ID. Using policy name will not work.", + "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": -540 + } + }, + "4c23": { + "name": "stub", + "canvasName": "stub", + "summary": "(Optional) Move policy (ordering)", + "description": "If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move", + "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": 204 + } + }, + "a050": { + "name": "stub", + "canvasName": "stub", + "summary": "(Optional) Install the Policy Package to Devices", + "description": "POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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": 300 + } + }, + "a6ad": { + "name": "stub", + "canvasName": "stub", + "summary": "README", + "description": "\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy2_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)\n3. policyName - name of the policy to add\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": -888 + } + }, + "09a6": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Prepare Update 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": "6840008662116438683f993c", + "variableMap": { + "FWPolicyPayload": {}, + "adomName": "$var.job.adomName", + "policyPackageName": "$var.job.policyPackageName", + "policyID": "$var.a8b0.return_data" + }, + "options": { + "extractOutput": true, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "FWPolicyObject": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": -48 + } + }, + "21dc": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Update 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.09a6.FWPolicyObject", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -336, + "y": 60 + } + }, + "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": -768 + } + }, + "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": -756, + "y": 432 + } + }, + "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 firewall policy payload." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -756, + "y": -48 + } + }, + "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": -756, + "y": 60 + } + }, + "b2b9": { + "name": "stub", + "canvasName": "stub", + "summary": "Create new firewall policy", + "description": "POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy", + "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": -132 + } + }, + "42cd": { + "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.4a97.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 348, + "y": -420 + } + }, + "a8b0": { + "name": "query", + "canvasName": "query", + "summary": "Get Firewall PolicyID", + "description": "Query data using a dot/bracket notation string and a matching key/value pair.", + "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": 348, + "y": -180 + } + }, + "4a97": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create Payload - \"Get FW Policy List\" ", + "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\": \"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": 348, + "y": -540 + } + }, + "39d0": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create Payload - \"Update FW Policy\" ", + "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\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/}/pkg//firewall/policy\",\n \"data\": [\n {\n \"policyid\": \"\",\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}", + "outputType": "json", + "variables": "$var.2110.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 348, + "y": -48 + } + }, + "cc40": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Update 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.39d0.output", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 348, + "y": 60 + } + } + }, + "transitions": { + "2110": { + "397a": { + "state": "success", + "type": "standard" + } + }, + "8372": { + "a8b0": { + "state": "success", + "type": "standard" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "397a": { + "4a97": { + "state": "success", + "type": "standard" + } + }, + "4c23": { + "a050": { + "state": "success", + "type": "standard" + } + }, + "a050": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "09a6": { + "21dc": { + "type": "standard", + "state": "success" + }, + "4a48": { + "type": "standard", + "state": "error" + } + }, + "21dc": { + "4c23": { + "state": "success", + "type": "standard" + }, + "c0e5": { + "type": "standard", + "state": "failure" + } + }, + "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" + } + }, + "b2b9": { + "09a6": { + "state": "success", + "type": "standard" + }, + "39d0": { + "type": "standard", + "state": "failure" + } + }, + "42cd": { + "8372": { + "state": "success", + "type": "standard" + } + }, + "a8b0": { + "b2b9": { + "state": "success", + "type": "standard" + } + }, + "4a97": { + "42cd": { + "state": "success", + "type": "standard" + } + }, + "39d0": { + "cc40": { + "state": "success", + "type": "standard" + } + }, + "cc40": { + "4c23": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": "string", + "examples": [ + "root" + ] + }, + "policyPackageName": { + "type": "string", + "examples": [ + "lhTest_policy-package" + ] + }, + "policyName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + } + }, + "required": [ + "adomName", + "policyPackageName", + "policyName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": "string", + "examples": [ + "root" + ] + }, + "policyPackageName": { + "type": "string", + "examples": [ + "lhTest_policy-package" + ] + }, + "policyName": { + "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-06-13T18:28:24.532Z", + "lastUpdatedVersion": "4.69.69", + "createdVersion": "5.55.2-2023.2.21", + "last_updated_by": { + "provenance": "okta", + "username": "trinh.do@itential.com", + "firstname": "Trinh", + "inactive": false, + "sso": true, + "nameID": "trinh.do@itential.com" + }, + "created": "1970-01-01T00:00:00.000Z", + "created_by": { + "provenance": "okta", + "username": "loan.huynh@itential.com", + "firstname": "Loan", + "inactive": false, + "sso": true, + "nameID": "loan.huynh@itential.com" + }, + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 6 + } + }, + { + "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": 300, + "y": 348 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -336 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 564 + } + }, + "397a": { + "name": "stub", + "canvasName": "stub", + "summary": "Create new Adom", + "description": "POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy", + "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": 12 + } + }, + "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": -240 + } + }, + "09a6": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Prepare Create Policy Package Payload", + "description": "Perform a JSON Transformation using the JST library.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "684836f21c63275a329f412e", + "variableMap": { + "adomName": "$var.job.adomName" + }, + "options": { + "extractOutput": true, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "FWPolicyObject": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -288, + "y": 168 + } + }, + "21dc": { + "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.09a6.FWPolicyObject", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -288, + "y": 348 + } + }, + "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": -156 + } + }, + "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": -672, + "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": -672, + "y": 168 + } + }, + "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": -672, + "y": 348 + } + }, + "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": 300, + "y": 168 + } + }, + "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": -72 + } + } + }, + "transitions": { + "9955": { + "workflow_end": { + "state": "success", + "type": "standard" + }, + "c0e5": { + "type": "standard", + "state": "error" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "397a": { + "09a6": { + "state": "success", + "type": "standard" + }, + "f207": { + "state": "success", + "type": "standard" + } + }, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "09a6": { + "21dc": { + "state": "success", + "type": "standard" + }, + "4a48": { + "type": "standard", + "state": "error" + } + }, + "21dc": { + "c0e5": { + "type": "standard", + "state": "error" + }, + "workflow_end": { + "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": { + "397a": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": "string", + "examples": [ + "root" + ] + } + }, + "required": [ + "adomName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": "string", + "examples": [ + "root" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-06-13T18:28:24.532Z", + "lastUpdatedVersion": "4.69.69", + "createdVersion": "5.55.2-2023.2.21", + "last_updated_by": { + "provenance": "okta", + "username": "trinh.do@itential.com", + "firstname": "Trinh", + "inactive": false, + "sso": true, + "nameID": "trinh.do@itential.com" + }, + "created": "1970-01-01T00:00:00.000Z", + "canvasVersion": 3, + "created_by": { + "provenance": "okta", + "username": "loan.huynh@itential.com", + "firstname": "Loan", + "inactive": false, + "sso": true, + "nameID": "loan.huynh@itential.com" + }, + "tags": [], + "groups": [], + "migrationVersion": 6 + } + }, + { + "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": "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": 300, + "y": 348 + } + }, + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -336 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 564 + } + }, + "397a": { + "name": "stub", + "canvasName": "stub", + "summary": "Create new Policy Package", + "description": "POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy", + "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": 12 + } + }, + "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": -240 + } + }, + "09a6": { + "name": "transformation", + "canvasName": "transformation", + "summary": "Prepare Create Policy Package", + "description": "Perform a JSON Transformation using the JST library.", + "location": "Application", + "locationType": null, + "app": "WorkFlowEngine", + "type": "operation", + "displayName": "WorkFlowEngine", + "variables": { + "incoming": { + "tr_id": "684837741c63275a329f412f", + "variableMap": { + "adomName": "$var.job.adomName", + "policyPackageName": "$var.job.policyPackageName" + }, + "options": { + "extractOutput": true, + "validateIncoming": true, + "revertToDefaultValue": true + } + }, + "outgoing": { + "FWPolicyObject": null + }, + "decorators": [] + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -288, + "y": 168 + } + }, + "21dc": { + "name": "postJsonrpc", + "canvasName": "postJsonrpc", + "summary": "Create Policy Package", + "description": "This is a generic json rpc api request", + "location": "Adapter", + "locationType": "FortiManager", + "app": "FortiManager", + "type": "automatic", + "displayName": "FortiManager", + "variables": { + "incoming": { + "body": "$var.09a6.FWPolicyObject", + "adapter_id": "FortiManager" + }, + "outgoing": { + "result": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -288, + "y": 348 + } + }, + "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": -156 + } + }, + "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": -672, + "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 policy package seats." + }, + "outgoing": { + "value": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": -672, + "y": 168 + } + }, + "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": -672, + "y": 348 + } + }, + "f207": { + "name": "makeData", + "canvasName": "makeData", + "summary": "Create Payload - \"Create Policy Package\"", + "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 \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/\",\n \"data\": [\n {\n \"name\": \"\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n}", + "outputType": "json", + "variables": "$var.eaf5.merged_object" + }, + "outgoing": { + "output": "" + } + }, + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 300, + "y": 168 + } + }, + "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": -72 + } + } + }, + "transitions": { + "9955": { + "workflow_end": { + "state": "success", + "type": "standard" + }, + "c0e5": { + "type": "standard", + "state": "error" + } + }, + "workflow_start": { + "a6ad": { + "state": "success", + "type": "standard" + } + }, + "workflow_end": {}, + "397a": { + "09a6": { + "state": "success", + "type": "standard" + }, + "f207": { + "state": "success", + "type": "standard" + } + }, + "a6ad": { + "c8d5": { + "state": "success", + "type": "standard" + } + }, + "09a6": { + "21dc": { + "state": "success", + "type": "standard" + }, + "4a48": { + "type": "standard", + "state": "error" + } + }, + "21dc": { + "c0e5": { + "type": "standard", + "state": "error" + }, + "workflow_end": { + "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": { + "397a": { + "state": "success", + "type": "standard" + } + } + }, + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": "string", + "examples": [ + "root" + ] + }, + "policyPackageName": { + "type": "string", + "examples": [ + "lhTest_policy-package" + ] + } + }, + "required": [ + "adomName", + "policyPackageName" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": "string", + "examples": [ + "root" + ] + }, + "policyPackageName": { + "type": "string", + "examples": [ + "lhTest_policy-package" + ] + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + } + } + }, + "type": "automation", + "font_size": 12, + "last_updated": "2025-06-13T18:28:24.533Z", + "lastUpdatedVersion": "4.69.69", + "createdVersion": "5.55.2-2023.2.21", + "last_updated_by": { + "provenance": "okta", + "username": "trinh.do@itential.com", + "firstname": "Trinh", + "inactive": false, + "sso": true, + "nameID": "trinh.do@itential.com" + }, + "created": "1970-01-01T00:00:00.000Z", + "canvasVersion": 3, + "created_by": { + "provenance": "okta", + "username": "loan.huynh@itential.com", + "firstname": "Loan", + "inactive": false, + "sso": true, + "nameID": "loan.huynh@itential.com" + }, + "tags": [], + "groups": [], + "migrationVersion": 6 + } + }, + { + "iid": 41, + "reference": "683f2241a3e4e1e6bbb279c9", + "type": "transformation", + "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "document": { + "_id": "683f2241a3e4e1e6bbb279c9", + "name": "Prepare Create Firewall Policy Payload", + "description": "", + "incoming": [ + { + "$id": "FWPolicyPayload", + "type": "object", + "properties": { + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "method": { + "type": "string", + "examples": [ + "add" + ] + }, + "params": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "examples": [ + "/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "lhTest_policy1_frIAP" + ] + }, + "srcintf": { + "type": "array", + "items": { + "type": "string", + "examples": [ + "any" + ] + } + }, + "dstintf": { + "type": "array", + "items": { + "type": "string", + "examples": [ + "any" + ] + } + }, + "srcaddr": { + "type": "array", + "items": { + "type": "string", + "examples": [ + "all" + ] + } + }, + "dstaddr": { + "type": "array", + "items": { + "type": "string", + "examples": [ + "all" + ] + } + }, + "action": { + "type": "string", + "examples": [ + "accept" + ] + }, + "schedule": { + "type": "array", + "items": { + "type": "string", + "examples": [ + "always" + ] + } + }, + "service": { + "type": "array", + "items": { + "type": "string", + "examples": [ + "ALL" + ] + } + }, + "status": { + "type": "string", + "examples": [ + "enable" + ] + }, + "logtraffic": { + "type": "string", + "examples": [ + "all" + ] + } + }, + "required": [] + } + } + }, + "required": [] + } + } + }, + "required": [] + }, + { + "$id": "adomName", + "type": "string", + "examples": [ + "root" + ] + }, + { + "$id": "policyPackageName", + "type": "string", + "examples": [ + "lhTest_policy-package" + ] + }, + { + "$id": "policyName", + "type": "string", + "examples": [ + "lhTest_policy2_frIAP" + ] + } + ], + "outgoing": [ + { + "$id": "FWPolicyObject", + "type": "object", + "properties": {}, + "required": [] + } + ], + "steps": [ + { + "id": 4, + "type": "template", + "library": "String", + "method": "templateLiteral", + "template": "{\n \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"name\": \"${policy_name}\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}", + "args": [ + null, + null, + null + ], + "view": { + "row": 2, + "col": 2 + }, + "context": "#" + }, + { + "id": 11, + "type": "assign", + "from": { + "location": "incoming", + "name": "policyName", + "ptr": "" + }, + "to": { + "location": "template", + "name": 4, + "ptr": "/args/2/value" + }, + "context": "#" + }, + { + "id": 12, + "type": "assign", + "from": { + "location": "incoming", + "name": "policyPackageName", + "ptr": "" + }, + "to": { + "location": "template", + "name": 4, + "ptr": "/args/1/value" + }, + "context": "#" + }, + { + "id": 13, + "type": "assign", + "from": { + "location": "incoming", + "name": "adomName", + "ptr": "" + }, + "to": { + "location": "template", + "name": 4, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 15, + "type": "declaration", + "library": "Object", + "method": "new Object", + "args": [ + null + ], + "view": { + "row": 2, + "col": 3 + }, + "context": "#" + }, + { + "id": 16, + "type": "assign", + "from": { + "location": "template", + "name": 4, + "ptr": "/return" + }, + "to": { + "location": "declaration", + "name": 15, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 17, + "type": "assign", + "from": { + "location": "declaration", + "name": 15, + "ptr": "/return" + }, + "to": { + "location": "outgoing", + "name": "FWPolicyObject", + "ptr": "" + }, + "context": "#" + } + ], + "functions": [], + "comments": [], + "view": { + "col": 4, + "row": 6 + }, + "created": "2025-06-13T17:32:25.152Z", + "createdBy": { + "_id": "681234ab0b98f9bb9fc0d0f9", + "provenance": "okta", + "username": "loan.huynh@itential.com" + }, + "lastUpdated": "2025-06-13T18:28:24.534Z", + "lastUpdatedBy": { + "_id": "6818ac1715b167dd387adf61", + "provenance": "okta", + "username": "trinh.do@itential.com" + }, + "version": "4.3.15", + "tags": [] + } + }, + { + "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-13T17:32:25.147Z", + "createdBy": { + "_id": "681234ab0b98f9bb9fc0d0f9", + "provenance": "okta", + "username": "loan.huynh@itential.com" + }, + "lastUpdated": "2025-06-13T18:28:24.534Z", + "lastUpdatedBy": { + "_id": "6818ac1715b167dd387adf61", + "provenance": "okta", + "username": "trinh.do@itential.com" + }, + "version": "4.3.15", + "tags": [] + } + }, + { + "iid": 44, + "reference": "6840008662116438683f993c", + "type": "transformation", + "folder": "/Update Firewall Policy", + "document": { + "_id": "6840008662116438683f993c", + "name": "Prepare Update Firewall Policy Payload", + "description": "", + "incoming": [ + { + "$id": "FWPolicyPayload", + "type": "object", + "properties": { + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "method": { + "type": "string", + "examples": [ + "add" + ] + }, + "params": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "examples": [ + "/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "lhTest_policy1_frIAP" + ] + }, + "srcintf": { + "type": "array", + "items": { + "type": "string", + "examples": [ + "any" + ] + } + }, + "dstintf": { + "type": "array", + "items": { + "type": "string", + "examples": [ + "any" + ] + } + }, + "srcaddr": { + "type": "array", + "items": { + "type": "string", + "examples": [ + "all" + ] + } + }, + "dstaddr": { + "type": "array", + "items": { + "type": "string", + "examples": [ + "all" + ] + } + }, + "action": { + "type": "string", + "examples": [ + "accept" + ] + }, + "schedule": { + "type": "array", + "items": { + "type": "string", + "examples": [ + "always" + ] + } + }, + "service": { + "type": "array", + "items": { + "type": "string", + "examples": [ + "ALL" + ] + } + }, + "status": { + "type": "string", + "examples": [ + "enable" + ] + }, + "logtraffic": { + "type": "string", + "examples": [ + "all" + ] + } + }, + "required": [] + } + } + }, + "required": [] + } + } + }, + "required": [] + }, + { + "$id": "adomName", + "type": "string", + "examples": [ + "root" + ] + }, + { + "$id": "policyPackageName", + "type": "string", + "examples": [ + "lhTest_policy-package" + ] + }, + { + "$id": "policyID", + "type": "integer", + "examples": [ + 8 + ] + } + ], + "outgoing": [ + { + "$id": "FWPolicyObject", + "type": "object", + "properties": {}, + "required": [] + } + ], + "steps": [ + { + "id": 4, + "type": "template", + "library": "String", + "method": "templateLiteral", + "template": "{\n \"id\": 1,\n \"method\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"policyid\": ${policy_id},\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}", + "args": [ + null, + null, + null + ], + "view": { + "row": 2, + "col": 2 + }, + "context": "#" + }, + { + "id": 12, + "type": "assign", + "from": { + "location": "incoming", + "name": "policyPackageName", + "ptr": "" + }, + "to": { + "location": "template", + "name": 4, + "ptr": "/args/1/value" + }, + "context": "#" + }, + { + "id": 13, + "type": "assign", + "from": { + "location": "incoming", + "name": "adomName", + "ptr": "" + }, + "to": { + "location": "template", + "name": 4, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 15, + "type": "declaration", + "library": "Object", + "method": "new Object", + "args": [ + null + ], + "view": { + "row": 2, + "col": 3 + }, + "context": "#" + }, + { + "id": 16, + "type": "assign", + "from": { + "location": "template", + "name": 4, + "ptr": "/return" + }, + "to": { + "location": "declaration", + "name": 15, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 17, + "type": "assign", + "from": { + "location": "declaration", + "name": 15, + "ptr": "/return" + }, + "to": { + "location": "outgoing", + "name": "FWPolicyObject", + "ptr": "" + }, + "context": "#" + }, + { + "id": 18, + "type": "assign", + "from": { + "location": "incoming", + "name": "policyID", + "ptr": "" + }, + "to": { + "location": "template", + "name": 4, + "ptr": "/args/2/value" + }, + "context": "#" + } + ], + "functions": [], + "comments": [], + "view": { + "col": 4, + "row": 6 + }, + "created": "2025-06-13T17:32:25.164Z", + "createdBy": { + "_id": "681234ab0b98f9bb9fc0d0f9", + "provenance": "okta", + "username": "loan.huynh@itential.com" + }, + "lastUpdated": "2025-06-13T18:28:24.535Z", + "lastUpdatedBy": { + "_id": "6818ac1715b167dd387adf61", + "provenance": "okta", + "username": "trinh.do@itential.com" + }, + "version": "4.3.15", + "tags": [] + } + }, + { + "iid": 59, + "reference": "684836f21c63275a329f412e", + "type": "transformation", + "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "document": { + "_id": "684836f21c63275a329f412e", + "name": "Prepare Create Adom Payload", + "description": "", + "incoming": [ + { + "$id": "adomName", + "type": "string", + "examples": [ + "root" + ] + } + ], + "outgoing": [ + { + "$id": "FWPolicyObject", + "type": "object", + "properties": {}, + "required": [] + } + ], + "steps": [ + { + "id": 4, + "type": "template", + "library": "String", + "method": "templateLiteral", + "template": "{\n \"method\": \"add\",\n \"params\": [\n {\n \"data\": [\n {\n \"name\": \"${adom}\"\n }\n ],\n \"url\": \"/dvmdb/adom\"\n }\n ]\n\n}", + "args": [ + null + ], + "view": { + "row": 2, + "col": 2 + }, + "context": "#" + }, + { + "id": 15, + "type": "declaration", + "library": "Object", + "method": "new Object", + "args": [ + null + ], + "view": { + "row": 2, + "col": 3 + }, + "context": "#" + }, + { + "id": 16, + "type": "assign", + "from": { + "location": "template", + "name": 4, + "ptr": "/return" + }, + "to": { + "location": "declaration", + "name": 15, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 17, + "type": "assign", + "from": { + "location": "declaration", + "name": 15, + "ptr": "/return" + }, + "to": { + "location": "outgoing", + "name": "FWPolicyObject", + "ptr": "" + }, + "context": "#" + }, + { + "id": 18, + "type": "assign", + "from": { + "location": "incoming", + "name": "adomName", + "ptr": "" + }, + "to": { + "location": "template", + "name": 4, + "ptr": "/args/0/value" + }, + "context": "#" + } + ], + "functions": [], + "comments": [], + "view": { + "col": 4, + "row": 6 + }, + "created": "2025-06-13T17:32:25.180Z", + "createdBy": { + "_id": "681234ab0b98f9bb9fc0d0f9", + "provenance": "okta", + "username": "loan.huynh@itential.com" + }, + "lastUpdated": "2025-06-13T18:28:24.536Z", + "lastUpdatedBy": { + "_id": "6818ac1715b167dd387adf61", + "provenance": "okta", + "username": "trinh.do@itential.com" + }, + "version": "4.3.15", + "tags": [] + } + }, + { + "iid": 60, + "reference": "684837741c63275a329f412f", + "type": "transformation", + "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "document": { + "_id": "684837741c63275a329f412f", + "name": "Prepare Create Policy Package", + "description": "", + "incoming": [ + { + "$id": "adomName", + "type": "string", + "examples": [ + "root" + ] + }, + { + "$id": "policyPackageName", + "type": "string", + "examples": [ + "lhTest_policy-package" + ] + } + ], + "outgoing": [ + { + "$id": "FWPolicyObject", + "type": "object", + "properties": {}, + "required": [] + } + ], + "steps": [ + { + "id": 4, + "type": "template", + "library": "String", + "method": "templateLiteral", + "template": "{\n \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/${adom}\",\n \"data\": [\n {\n \"name\": \"${policy_package}\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n\n}\n", + "args": [ + null, + null + ], + "view": { + "row": 2, + "col": 2 + }, + "context": "#" + }, + { + "id": 13, + "type": "assign", + "from": { + "location": "incoming", + "name": "adomName", + "ptr": "" + }, + "to": { + "location": "template", + "name": 4, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 15, + "type": "declaration", + "library": "Object", + "method": "new Object", + "args": [ + null + ], + "view": { + "row": 2, + "col": 3 + }, + "context": "#" + }, + { + "id": 16, + "type": "assign", + "from": { + "location": "template", + "name": 4, + "ptr": "/return" + }, + "to": { + "location": "declaration", + "name": 15, + "ptr": "/args/0/value" + }, + "context": "#" + }, + { + "id": 17, + "type": "assign", + "from": { + "location": "declaration", + "name": 15, + "ptr": "/return" + }, + "to": { + "location": "outgoing", + "name": "FWPolicyObject", + "ptr": "" + }, + "context": "#" + }, + { + "id": 18, + "type": "assign", + "from": { + "location": "incoming", + "name": "policyPackageName", + "ptr": "" + }, + "to": { + "location": "template", + "name": 4, + "ptr": "/args/1/value" + }, + "context": "#" + } + ], + "functions": [], + "comments": [], + "view": { + "col": 4, + "row": 6 + }, + "created": "2025-06-13T17:32:25.181Z", + "createdBy": { + "_id": "681234ab0b98f9bb9fc0d0f9", + "provenance": "okta", + "username": "loan.huynh@itential.com" + }, + "lastUpdated": "2025-06-13T18:28:24.535Z", + "lastUpdatedBy": { + "_id": "6818ac1715b167dd387adf61", + "provenance": "okta", + "username": "trinh.do@itential.com" + }, + "version": "4.3.15", + "tags": [] + } + }, + { + "iid": 56, + "reference": "68407bdffb43d1b9e324b650", + "type": "jsonForm", + "folder": "/", + "document": { + "id": "68407bdffb43d1b9e324b650", + "created": "2025-06-04T17:01:19.348Z", + "createdBy": "loan.huynh@itential.com", + "lastUpdated": "2025-06-13T18:28:24.537Z", + "lastUpdatedBy": "trinh.do@itential.com", + "name": "FortiManager Create FW Policy", + "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" + }, + { + "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" + }, + { + "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" + }, + { + "nodeId": "4981a411-3e03-42c7-8c60-0962f4d5cb32", + "type": "string", + "title": "KEEP_Policy", + "description": "", + "placeholder": "Select an item", + "required": false, + "enum": [], + "enumNames": [], + "binding": true, + "rel": "collection", + "targetPointer": "/enum", + "method": "POST", + "uniqueItems": false, + "base": "/FortiManager", + "href": "/getFirewallPolicyPackage", + "body": { + "adomid": "root", + "packid": "lhTest_policy-package", + "policy": "", + "attr": "", + "fields": [], + "filter": [], + "option": [], + "range": [], + "sortings": [] + }, + "sourcePointer": "/response/result/0/data", + "sourceKeyPointer": "/name" + }, + { + "nodeId": "875cfe72-5434-4e7b-be91-86e8ac404910", + "type": "string", + "title": "Text 2", + "description": "", + "placeholder": "Enter text", + "required": false, + "readOnly": false, + "binding": false, + "rel": "item", + "targetPointer": "/default" + } + ] + }, + "schema": { + "title": "FortiManager Create FW Policy", + "description": "", + "type": "object", + "required": [ + "adom", + "policyName" + ], + "properties": { + "adom": { + "type": "string", + "title": "Adom", + "_id": "/properties/adom", + "description": "", + "enum": [], + "enumNames": [] + }, + "policyPackage": { + "type": "string", + "title": "Policy Package", + "_id": "/properties/policyPackage", + "description": "", + "enum": [], + "enumNames": [] + }, + "policyName": { + "type": "string", + "title": "Policy Name", + "_id": "/properties/policyName", + "description": "Enter the Policy Name" + }, + "keepPolicy": { + "type": "string", + "title": "KEEP_Policy", + "_id": "/properties/keepPolicy", + "description": "", + "enum": [], + "enumNames": [] + }, + "text2": { + "type": "string", + "title": "Text 2", + "_id": "/properties/text2", + "description": "" + } + } + }, + "uiSchema": { + "adom": { + "ui:placeholder": "Select an item" + }, + "policyPackage": { + "ui:placeholder": "Select an item" + }, + "policyName": { + "ui:placeholder": "Enter the Policy Name" + }, + "keepPolicy": { + "ui:placeholder": "Select an item" + }, + "text2": { + "ui:placeholder": "Enter text" + } + }, + "bindingSchema": { + "properties": { + "adom": { + "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" + } + }, + "policyPackage": { + "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" + } + }, + "keepPolicy": { + "binding:method": "POST", + "binding:link": { + "$ref": "/links", + "rel": "collection" + }, + "binding:body": { + "adomid": "root", + "packid": "lhTest_policy-package", + "policy": "", + "attr": "", + "fields": [], + "filter": [], + "option": [], + "range": [], + "sortings": [] + }, + "binding:target": { + "propertyPointer": "/enum" + }, + "binding:hyperSchema": { + "type": "object", + "base": "/FortiManager", + "links": [ + { + "rel": "collection", + "href": "/getFirewallPolicyPackage", + "targetMediaType": "application/json", + "targetSchema": { + "$ref": "#" + }, + "variables": [] + } + ] + }, + "binding:source": { + "propertyPointer": "/response/result/0/data", + "keyPointer": "/name" + } + } + } + }, + "validationSchema": {}, + "version": "2020.1" + } + }, + { + "iid": 62, + "reference": "684c2a9f1c63275a329f4132", + "type": "jsonForm", + "folder": "/Delete Objects", + "document": { + "id": "684c2a9f1c63275a329f4132", + "created": "2025-06-13T13:41:51.845Z", + "createdBy": "loan.huynh@itential.com", + "lastUpdated": "2025-06-13T18:28:24.539Z", + "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": "FortiManager Delete Policy Package" + } + }, + { + "iid": 63, + "reference": "684c5eb91c63275a329f4133", + "type": "jsonForm", + "folder": "/Delete Objects", + "document": { + "id": "684c5eb91c63275a329f4133", + "created": "2025-06-13T17:24:09.733Z", + "createdBy": "loan.huynh@itential.com", + "lastUpdated": "2025-06-13T18:28:24.540Z", + "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": "FortiManager Delete FW Policy" + } + }, + { + "iid": 64, + "reference": "684c5f101c63275a329f4134", + "type": "jsonForm", + "folder": "/Delete Objects", + "document": { + "id": "684c5f101c63275a329f4134", + "created": "2025-06-13T17:25:36.169Z", + "createdBy": "loan.huynh@itential.com", + "lastUpdated": "2025-06-13T18:28:24.554Z", + "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": "FortiManager Delete Adom" + } + } + ], + "folders": [ + { + "nodeType": "folder", + "name": "ForTesting", + "children": [ + { + "iid": 40, + "nodeType": "component" + }, + { + "iid": 38, + "nodeType": "component" + }, + { + "iid": 39, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Create Objects (Adom, Policy Pkg, Policy)", + "children": [ + { + "iid": 57, + "nodeType": "component" + }, + { + "iid": 59, + "nodeType": "component" + }, + { + "iid": 58, + "nodeType": "component" + }, + { + "iid": 60, + "nodeType": "component" + }, + { + "iid": 54, + "nodeType": "component" + }, + { + "iid": 41, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Update Firewall Policy", + "children": [ + { + "iid": 55, + "nodeType": "component" + }, + { + "iid": 44, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Delete Objects", + "children": [ + { + "iid": 50, + "nodeType": "component" + }, + { + "iid": 52, + "nodeType": "component" + }, + { + "iid": 53, + "nodeType": "component" + }, + { + "iid": 63, + "nodeType": "component" + }, + { + "iid": 64, + "nodeType": "component" + }, + { + "iid": 62, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Shared Components", + "children": [ + { + "iid": 42, + "nodeType": "component" + } + ] + }, + { + "iid": 45, + "nodeType": "component" + }, + { + "iid": 46, + "nodeType": "component" + }, + { + "iid": 56, + "nodeType": "component" + } + ], + "created": "2025-04-24T16:30:18.005Z", + "createdBy": { + "_id": "6811213c0b372eda73c63710", + "provenance": "local_aaa", + "username": "admin@pronghorn" + }, + "lastUpdated": "2025-06-13T18:51:00.031Z", + "lastUpdatedBy": { + "_id": "6818ac1715b167dd387adf61", + "provenance": "okta", + "username": "trinh.do@itential.com" + }, + "iid": 145, + "versionHistory": [ + { + "versionNumber": 2, + "commitMessage": "moved task to test", + "author": "Loan", + "branchName": "devel" + }, + { + "versionNumber": 1, + "commitMessage": "init", + "author": "Loan", + "branchName": "psup-2352" + } + ], + "thumbnail": "data:image/png;base64,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", + "backgroundColor": "#FFFFFF", + "referencedComponentHashes": [] +} From 6813a9d160928a85b9d2dc9eb4b21161940e7c30 Mon Sep 17 00:00:00 2001 From: trinhdo Date: Thu, 10 Jul 2025 23:00:39 -0400 Subject: [PATCH 07/15] Update fortimanager.project.json to the completed version Functions included: Create, Update, Read, Check, Delete for ADOM, policy package and firewall policy . --- .../Projects/fortimanager.project.json | 10973 ++++++++++++---- 1 file changed, 8271 insertions(+), 2702 deletions(-) diff --git a/FortiManager/Projects/fortimanager.project.json b/FortiManager/Projects/fortimanager.project.json index b60cacf..b40d8ab 100644 --- a/FortiManager/Projects/fortimanager.project.json +++ b/FortiManager/Projects/fortimanager.project.json @@ -98,28 +98,27 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-06-13T18:28:24.525Z", + "last_updated": "2025-07-11T02:53:49.137Z", "last_updated_by": { - "provenance": "okta", + "provenance": "CloudAAA", "username": "trinh.do@itential.com", - "firstname": "Trinh", - "inactive": false, - "sso": true, - "nameID": "trinh.do@itential.com" + "firstname": "trinh", + "inactive": false }, - "lastUpdatedVersion": "4.69.69", + "lastUpdatedVersion": "4.69.3-2023.2.211", "created": "2025-04-25T21:21:59.418Z", "created_by": { - "firstname": "admin", - "inactive": true, "provenance": "local_aaa", - "username": "admin@pronghorn" + "username": "admin@pronghorn", + "firstname": "admin", + "inactive": true }, "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", "tags": [], "groups": [], - "migrationVersion": 6 + "migrationVersion": 5 } }, { @@ -364,28 +363,27 @@ }, "type": "automation", "font_size": 12, - "lastUpdatedVersion": "4.69.69", + "lastUpdatedVersion": "4.69.3-2023.2.211", "created_by": { - "firstname": "admin", - "inactive": true, "provenance": "local_aaa", - "username": "admin@pronghorn" + "username": "admin@pronghorn", + "firstname": "admin", + "inactive": true }, "createdVersion": "5.55.2-2023.2.21", - "last_updated": "2025-06-13T18:28:24.526Z", + "last_updated": "2025-07-11T02:53:49.140Z", "last_updated_by": { - "provenance": "okta", + "provenance": "CloudAAA", "username": "trinh.do@itential.com", - "firstname": "Trinh", - "inactive": false, - "sso": true, - "nameID": "trinh.do@itential.com" + "firstname": "trinh", + "inactive": false }, "created": "2025-05-06T13:59:07.934Z", "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", "tags": [], "groups": [], - "migrationVersion": 6 + "migrationVersion": 5 } }, { @@ -845,290 +843,27 @@ "errorHandler": null, "preAutomationTime": 0, "sla": 0, - "lastUpdatedVersion": "4.69.69", + "lastUpdatedVersion": "4.69.3-2023.2.211", "created_by": { - "firstname": "admin", - "inactive": true, "provenance": "local_aaa", - "username": "admin@pronghorn" + "username": "admin@pronghorn", + "firstname": "admin", + "inactive": true }, "createdVersion": "5.55.2-2023.2.21", - "last_updated": "2025-06-13T18:28:24.528Z", + "last_updated": "2025-07-11T02:53:49.142Z", "last_updated_by": { - "provenance": "okta", + "provenance": "CloudAAA", "username": "trinh.do@itential.com", - "firstname": "Trinh", - "inactive": false, - "sso": true, - "nameID": "trinh.do@itential.com" + "firstname": "trinh", + "inactive": false }, "created": "2025-05-08T07:43:22.575Z", "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", "tags": [], "groups": [], - "migrationVersion": 6 - } - }, - { - "iid": 45, - "reference": "1fef4390-ff81-4adf-b71b-0961bde8c96c", - "type": "workflow", - "folder": "/", - "document": { - "name": "FortiManager_main_createFW", - "tasks": { - "workflow_start": { - "name": "workflow_start", - "groups": [], - "x": 0, - "y": 0.5, - "nodeLocation": { - "x": 0, - "y": -500 - } - }, - "workflow_end": { - "name": "workflow_end", - "groups": [], - "x": 1, - "y": 0.5, - "nodeLocation": { - "x": 0, - "y": -84 - } - }, - "81cd": { - "name": "childJob", - "canvasName": "childJob", - "summary": "Run Create FW Child Job", - "description": "Runs a child job inside a workflow.", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "task": "", - "workflow": "@680a671a3e055752b7abb534: Create Firewall Policy", - "variables": { - "adomName": { - "task": "static", - "value": "root" - }, - "policyPackageName": { - "task": "static", - "value": "lhTest_policy-package" - }, - "policyName": { - "task": "static", - "value": "lhTest_policy3_frIAP" - } - }, - "data_array": "", - "transformation": "", - "loopType": "" - }, - "outgoing": { - "job_details": "" - } - }, - "actor": "job", - "groups": [], - "nodeLocation": { - "x": 0, - "y": -324 - } - } - }, - "transitions": { - "workflow_start": { - "81cd": { - "state": "success", - "type": "standard" - } - }, - "workflow_end": {}, - "81cd": { - "workflow_end": { - "state": "success", - "type": "standard" - } - } - }, - "inputSchema": { - "type": "object", - "properties": {} - }, - "outputSchema": { - "type": "object", - "properties": { - "_id": { - "type": "string", - "pattern": "^[0-9a-f]{24}$" - }, - "initiator": { - "type": "string" - } - } - }, - "type": "automation", - "font_size": 12, - "last_updated": "2025-06-13T18:28:24.527Z", - "lastUpdatedVersion": "5.55.5", - "createdVersion": "5.55.2-2023.2.21", - "last_updated_by": { - "provenance": "okta", - "username": "trinh.do@itential.com", - "firstname": "Trinh", - "inactive": false, - "sso": true, - "nameID": "trinh.do@itential.com" - }, - "created": "1970-01-01T00:00:00.000Z", - "created_by": { - "provenance": "okta", - "username": "loan.huynh@itential.com", - "firstname": "Loan", - "inactive": false, - "sso": true, - "nameID": "loan.huynh@itential.com" - }, - "canvasVersion": 3, - "tags": [], - "groups": [], - "migrationVersion": 6 - } - }, - { - "iid": 46, - "reference": "3e1e5d6f-5f4e-4560-b020-b00b5858ca99", - "type": "workflow", - "folder": "/", - "document": { - "name": "FortiManager_main_updateFW", - "tasks": { - "workflow_start": { - "name": "workflow_start", - "groups": [], - "x": 0, - "y": 0.5, - "nodeLocation": { - "x": 0, - "y": -500 - } - }, - "workflow_end": { - "name": "workflow_end", - "groups": [], - "x": 1, - "y": 0.5, - "nodeLocation": { - "x": 0, - "y": -84 - } - }, - "81cd": { - "name": "childJob", - "canvasName": "childJob", - "summary": "Run Update FW Child Job", - "description": "Runs a child job inside a workflow.", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "task": "", - "workflow": "@680a671a3e055752b7abb534: Update Firewall Policy", - "variables": { - "adomName": { - "task": "static", - "value": "root" - }, - "policyPackageName": { - "task": "static", - "value": "lhTest_policy-package" - }, - "policyName": { - "task": "static", - "value": "lhTest_policy2_frIAP" - } - }, - "data_array": "", - "transformation": "", - "loopType": "" - }, - "outgoing": { - "job_details": "" - } - }, - "actor": "job", - "groups": [], - "nodeLocation": { - "x": 0, - "y": -300 - } - } - }, - "transitions": { - "workflow_start": { - "81cd": { - "state": "success", - "type": "standard" - } - }, - "workflow_end": {}, - "81cd": { - "workflow_end": { - "state": "success", - "type": "standard" - } - } - }, - "inputSchema": { - "type": "object", - "properties": {} - }, - "outputSchema": { - "type": "object", - "properties": { - "_id": { - "type": "string", - "pattern": "^[0-9a-f]{24}$" - }, - "initiator": { - "type": "string" - } - } - }, - "type": "automation", - "font_size": 12, - "last_updated": "2025-06-13T18:28:24.529Z", - "lastUpdatedVersion": "4.69.69", - "createdVersion": "5.55.2-2023.2.21", - "last_updated_by": { - "provenance": "okta", - "username": "trinh.do@itential.com", - "firstname": "Trinh", - "inactive": false, - "sso": true, - "nameID": "trinh.do@itential.com" - }, - "created": "1970-01-01T00:00:00.000Z", - "created_by": { - "provenance": "okta", - "username": "loan.huynh@itential.com", - "firstname": "Loan", - "inactive": false, - "sso": true, - "nameID": "loan.huynh@itential.com" - }, - "canvasVersion": 3, - "tags": [], - "groups": [], - "migrationVersion": 6 + "migrationVersion": 5 } }, { @@ -1589,9 +1324,9 @@ }, "operand_2": { "task": "static", - "variable": null + "variable": 0 }, - "operator": "!=", + "operator": ">", "query": "", "rightQuery": "" } @@ -1637,8 +1372,8 @@ "type": "standard" }, "4d1e": { - "state": "failure", - "type": "standard" + "type": "standard", + "state": "error" } }, "601b": { @@ -1678,7 +1413,7 @@ }, "f08d": { "type": "standard", - "state": "failure" + "state": "error" } }, "4e49": { @@ -1803,28 +1538,27 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-06-13T18:51:00.013Z", + "last_updated": "2025-07-11T02:53:49.143Z", "last_updated_by": { - "provenance": "okta", + "provenance": "CloudAAA", "username": "trinh.do@itential.com", - "firstname": "Trinh", - "inactive": false, - "sso": true, - "nameID": "trinh.do@itential.com" + "firstname": "trinh", + "inactive": false }, - "lastUpdatedVersion": "5.55.5", + "lastUpdatedVersion": "5.55.2-2023.2.21", "created": "2025-06-05T21:04:01.032Z", "created_by": { - "firstname": "admin", - "inactive": true, "provenance": "local_aaa", - "username": "admin@pronghorn" + "username": "admin@pronghorn", + "firstname": "admin", + "inactive": true }, "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", "tags": [], "groups": [], - "migrationVersion": 6 + "migrationVersion": 5 } }, { @@ -1929,7 +1663,7 @@ "y": 0.5, "nodeLocation": { "x": 0, - "y": -168 + "y": 96 } }, "92ed": { @@ -2026,7 +1760,7 @@ "tr_id": "683ff697a3e4e1e6bbb279ca", "variableMap": { "success": false, - "reason": "$var.4d1e.value" + "reason": "$var.job.reason" }, "options": { "extractOutput": false, @@ -2045,37 +1779,162 @@ "groups": [], "nodeLocation": { "x": -336, - "y": -168 - } - } - }, - "transitions": { - "6878": { - "601b": { - "state": "success", - "type": "standard" - } - }, - "8640": { - "6878": { - "state": "success", - "type": "standard" + "y": 96 } }, - "workflow_start": { - "8640": { - "state": "success", - "type": "standard" + "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 } }, - "workflow_end": {}, - "92ed": { - "workflow_end": { + "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": { - "state": "failure", + "type": "standard", + "state": "error" + }, + "deda": { + "state": "success", "type": "standard" } }, @@ -2096,6 +1955,34 @@ "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": { @@ -2164,30 +2051,29 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-06-13T18:28:24.530Z", - "lastUpdatedVersion": "4.69.69", + "last_updated": "2025-07-11T02:53:49.143Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { - "provenance": "okta", + "provenance": "CloudAAA", "username": "trinh.do@itential.com", - "firstname": "Trinh", - "inactive": false, - "sso": true, - "nameID": "trinh.do@itential.com" + "firstname": "trinh", + "inactive": false }, "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, "created_by": { "provenance": "okta", "username": "loan.huynh@itential.com", "firstname": "Loan", - "inactive": false, + "inactive": true, "sso": true, "nameID": "loan.huynh@itential.com" }, + "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", "tags": [], "groups": [], - "migrationVersion": 6 + "migrationVersion": 5 } }, { @@ -2198,6 +2084,51 @@ "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", @@ -2285,7 +2216,7 @@ "y": 0.5, "nodeLocation": { "x": 0, - "y": -168 + "y": 96 } }, "92ed": { @@ -2382,7 +2313,7 @@ "tr_id": "683ff697a3e4e1e6bbb279ca", "variableMap": { "success": false, - "reason": "$var.4d1e.value" + "reason": "$var.job.reason" }, "options": { "extractOutput": false, @@ -2401,11 +2332,101 @@ "groups": [], "nodeLocation": { "x": -336, - "y": -168 + "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", @@ -2426,12 +2447,12 @@ }, "workflow_end": {}, "92ed": { - "workflow_end": { - "state": "success", - "type": "standard" - }, "4d1e": { - "state": "failure", + "type": "standard", + "state": "error" + }, + "c00a": { + "state": "success", "type": "standard" } }, @@ -2452,6 +2473,24 @@ "state": "success", "type": "standard" } + }, + "c00a": { + "5169": { + "state": "success", + "type": "standard" + } + }, + "ae24": { + "workflow_end": { + "state": "success", + "type": "standard" + } + }, + "227b": { + "50cc": { + "state": "success", + "type": "standard" + } } }, "inputSchema": { @@ -2499,30 +2538,29 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-06-13T18:28:24.530Z", - "lastUpdatedVersion": "4.69.69", + "last_updated": "2025-07-11T02:53:49.144Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { - "provenance": "okta", + "provenance": "CloudAAA", "username": "trinh.do@itential.com", - "firstname": "Trinh", - "inactive": false, - "sso": true, - "nameID": "trinh.do@itential.com" + "firstname": "trinh", + "inactive": false }, "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, "created_by": { "provenance": "okta", "username": "loan.huynh@itential.com", "firstname": "Loan", - "inactive": false, + "inactive": true, "sso": true, "nameID": "loan.huynh@itential.com" }, + "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", "tags": [], "groups": [], - "migrationVersion": 6 + "migrationVersion": 5 } }, { @@ -2555,8 +2593,8 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": 300, - "y": 348 + "x": 0, + "y": 204 } }, "workflow_start": { @@ -2566,7 +2604,7 @@ "y": 0.5, "nodeLocation": { "x": 0, - "y": -336 + "y": -240 } }, "workflow_end": { @@ -2576,88 +2614,7 @@ "y": 0.5, "nodeLocation": { "x": 0, - "y": 780 - } - }, - "397a": { - "name": "stub", - "canvasName": "stub", - "summary": "Create new firewall policy", - "description": "POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy", - "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": 12 - } - }, - "4c23": { - "name": "stub", - "canvasName": "stub", - "summary": "(Optional) Move policy (ordering)", - "description": "If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move", - "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": 552 - } - }, - "a050": { - "name": "stub", - "canvasName": "stub", - "summary": "(Optional) Install the Policy Package to Devices", - "description": "POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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": 648 + "y": 300 } }, "a6ad": { @@ -2684,70 +2641,7 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -240 - } - }, - "09a6": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Prepare 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": "683f2241a3e4e1e6bbb279c9", - "variableMap": { - "FWPolicyPayload": {}, - "adomName": "$var.job.adomName", - "policyPackageName": "$var.job.policyPackageName", - "policyName": "$var.job.policyName" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } - }, - "outgoing": { - "FWPolicyObject": null - }, - "decorators": [] - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -288, - "y": 168 - } - }, - "21dc": { - "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.09a6.FWPolicyObject", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -288, - "y": 348 + "y": -144 } }, "c8d5": { @@ -2784,13 +2678,13 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -156 + "y": -60 } }, "9a50": { "name": "transformation", "canvasName": "transformation", - "summary": "Failure path - Standard Output", + "summary": "Failure path", "description": "Standard output for workflows.", "location": "Application", "locationType": null, @@ -2820,8 +2714,8 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -672, - "y": 780 + "x": -300, + "y": 300 } }, "4a48": { @@ -2846,8 +2740,8 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -672, - "y": 168 + "x": -300, + "y": 108 } }, "c0e5": { @@ -2872,8 +2766,8 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -672, - "y": 348 + "x": -300, + "y": 204 } }, "f207": { @@ -2888,7 +2782,7 @@ "displayName": "Tools", "variables": { "incoming": { - "input": "{\n \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\",\n \"data\": [\n {\n \"name\": \"\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}", + "input": "{\n \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\",\n \"data\": [\n {\n \"name\": \"\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}", "outputType": "json", "variables": "$var.eaf5.merged_object" }, @@ -2899,8 +2793,8 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": 300, - "y": 168 + "x": 0, + "y": 108 } }, "eaf5": { @@ -2947,76 +2841,34 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -72 + "y": 24 } } }, "transitions": { "9955": { - "4c23": { - "state": "success", - "type": "standard" - }, "c0e5": { "type": "standard", "state": "error" - } - }, - "workflow_start": { - "a6ad": { - "state": "success", - "type": "standard" - } - }, - "workflow_end": {}, - "397a": { - "09a6": { - "state": "success", - "type": "standard" }, - "f207": { - "state": "success", - "type": "standard" - } - }, - "4c23": { - "a050": { + "workflow_end": { "state": "success", "type": "standard" } }, - "a050": { - "workflow_end": { + "workflow_start": { + "a6ad": { "state": "success", "type": "standard" } }, + "workflow_end": {}, "a6ad": { "c8d5": { "state": "success", "type": "standard" } }, - "09a6": { - "21dc": { - "state": "success", - "type": "standard" - }, - "4a48": { - "type": "standard", - "state": "error" - } - }, - "21dc": { - "4c23": { - "state": "success", - "type": "standard" - }, - "c0e5": { - "type": "standard", - "state": "error" - } - }, "c8d5": { "eaf5": { "state": "success", @@ -3052,7 +2904,7 @@ } }, "eaf5": { - "397a": { + "f207": { "state": "success", "type": "standard" } @@ -3062,21 +2914,33 @@ "type": "object", "properties": { "adomName": { - "type": "string", - "examples": [ - "root" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] }, "policyPackageName": { - "type": "string", - "examples": [ - "lhTest_policy-package" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] }, "policyName": { - "type": "string", - "examples": [ - "lhTest_policy2_frIAP" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] } }, @@ -3090,21 +2954,33 @@ "type": "object", "properties": { "adomName": { - "type": "string", - "examples": [ - "root" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] }, "policyPackageName": { - "type": "string", - "examples": [ - "lhTest_policy-package" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] }, "policyName": { - "type": "string", - "examples": [ - "lhTest_policy2_frIAP" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] }, "_id": { @@ -3121,42 +2997,67 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-06-13T18:28:24.531Z", + "last_updated": "2025-07-11T02:53:49.144Z", "last_updated_by": { - "provenance": "okta", + "provenance": "CloudAAA", "username": "trinh.do@itential.com", - "firstname": "Trinh", - "inactive": false, - "sso": true, - "nameID": "trinh.do@itential.com" + "firstname": "trinh", + "inactive": false }, - "lastUpdatedVersion": "4.69.69", + "lastUpdatedVersion": "5.55.2-2023.2.21", "created": "2025-04-29T20:32:09.925Z", "created_by": { - "firstname": "admin", - "inactive": true, "provenance": "local_aaa", - "username": "admin@pronghorn" + "username": "admin@pronghorn", + "firstname": "admin", + "inactive": true }, "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", "tags": [], "groups": [], - "migrationVersion": 6 + "migrationVersion": 5 } }, { "iid": 55, "reference": "1cbc8be8-38d2-4284-a5e2-d96570ba0aa8", "type": "workflow", - "folder": "/Update Firewall Policy", + "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", + "summary": "Inputs to get firewall policy list", "description": "Merge data into a single object", "location": "Application", "locationType": null, @@ -3197,61 +3098,14 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -660 - } - }, - "8372": { - "name": "makeData", - "canvasName": "makeData", - "summary": "Prep Query", - "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": "response.result[0].data[name=].policyid", - "outputType": "string", - "variables": "$var.2110.merged_object" - }, - "outgoing": { - "output": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 348, - "y": -300 - } - }, - "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": 432 + "y": -708 } }, - "397a": { + "4981": { "name": "stub", "canvasName": "stub", - "summary": "Get firewall policy ID", - "description": "Get the firewall policy ID by:\n\n1. Get a list of all firewall policies for the specified adom and policy package.\n2. Query out the policyid that matches the policy name.\n\nUpdate payload requires policy ID. Using policy name will not work.", + "summary": "Success path", + "description": "Success path", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -3261,7 +3115,7 @@ "incoming": { "type": "success", "delay": "", - "response": "" + "response": "$var.c8d5.success" }, "outgoing": { "response": "" @@ -3271,14 +3125,14 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -540 + "y": 372 } }, - "4c23": { - "name": "stub", - "canvasName": "stub", - "summary": "(Optional) Move policy (ordering)", - "description": "If you need to position the new policy above or below another policy, you can use:\n\n\nPUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move", + "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", @@ -3286,53 +3140,46 @@ "displayName": "Tools", "variables": { "incoming": { - "type": "success", - "delay": "", - "response": "" + "input": "response.result[0].data[name=].policyid", + "outputType": "string", + "variables": "$var.2110.merged_object" }, "outgoing": { - "response": "" + "output": "" } }, "actor": "Pronghorn", "groups": [], "nodeLocation": { "x": 0, - "y": 204 + "y": -420 } }, - "a050": { - "name": "stub", - "canvasName": "stub", - "summary": "(Optional) Install the Policy Package to Devices", - "description": "POST https://{{fortimanager}}/securityconsole/install/package\nContent-Type: application/json\nAuthorization: Bearer {{api_token}}\n\n{\n \"json\": {\n \"adom\": \"{{adom}}\",\n \"pkg\": \"{{policy_package}}\",\n \"scope\": [\n {\n \"name\": \"{{device_name}}\",\n \"vdom\": \"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", + "workflow_start": { + "name": "workflow_start", "groups": [], + "x": 0, + "y": 0.5, "nodeLocation": { "x": 0, - "y": 300 + "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 ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy2_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)\n3. policyName - name of the policy to add\n\n", + "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", @@ -3352,77 +3199,14 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -888 - } - }, - "09a6": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Prepare Update 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": "6840008662116438683f993c", - "variableMap": { - "FWPolicyPayload": {}, - "adomName": "$var.job.adomName", - "policyPackageName": "$var.job.policyPackageName", - "policyID": "$var.a8b0.return_data" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } - }, - "outgoing": { - "FWPolicyObject": null - }, - "decorators": [] - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -336, - "y": -48 - } - }, - "21dc": { - "name": "postJsonrpc", - "canvasName": "postJsonrpc", - "summary": "Update 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.09a6.FWPolicyObject", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -336, - "y": 60 + "y": -900 } }, "c8d5": { "name": "transformation", "canvasName": "transformation", "summary": "Standard Output", - "description": "Standard output for workflows.", + "description": "Update firewall policy with new comment completed.", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -3433,7 +3217,7 @@ "tr_id": "683ff697a3e4e1e6bbb279ca", "variableMap": { "success": true, - "reason": "Create Firewall Policy completed." + "reason": "Update firewall policy with new comment completed." }, "options": { "extractOutput": true, @@ -3452,14 +3236,14 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -768 + "y": -804 } }, "9a50": { "name": "transformation", "canvasName": "transformation", - "summary": "Failure path - Standard Output", - "description": "Standard output for workflows.", + "summary": "Failure path", + "description": "Failure path", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -3488,15 +3272,15 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -756, - "y": 432 + "x": -348, + "y": 468 } }, "4a48": { "name": "newVariable", "canvasName": "newVariable", "summary": "reason", - "description": "Create a new Job variable by Job ID and assign it a value.", + "description": "Failed reason: Failed to update the firewall policy with comment.", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -3505,7 +3289,7 @@ "variables": { "incoming": { "name": "reason", - "value": "Failed to prepare create firewall policy payload." + "value": "Failed to update the firewall policy with comment." }, "outgoing": { "value": "" @@ -3514,15 +3298,15 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -756, - "y": -48 + "x": -348, + "y": 300 } }, "c0e5": { "name": "newVariable", "canvasName": "newVariable", "summary": "reason", - "description": "Create a new Job variable by Job ID and assign it a value.", + "description": "Failed reason: Failed to get Firewall Policy ID.", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -3531,7 +3315,7 @@ "variables": { "incoming": { "name": "reason", - "value": "Failed to create firewall policy." + "value": "Failed to get Firewall Policy ID." }, "outgoing": { "value": "" @@ -3540,42 +3324,15 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -756, - "y": 60 - } - }, - "b2b9": { - "name": "stub", - "canvasName": "stub", - "summary": "Create new firewall policy", - "description": "POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy", - "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": -132 + "x": -348, + "y": -216 } }, "42cd": { "name": "postJsonrpc", "canvasName": "postJsonrpc", - "summary": "Get Firewall Policy List", - "description": "This is a generic json rpc api request", + "summary": "Get the firewall policy list", + "description": "Request to get the firewall policy list.", "location": "Adapter", "locationType": "FortiManager", "app": "FortiManager", @@ -3593,15 +3350,15 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": 348, - "y": -420 + "x": 0, + "y": -516 } }, "a8b0": { "name": "query", "canvasName": "query", - "summary": "Get Firewall PolicyID", - "description": "Query data using a dot/bracket notation string and a matching key/value pair.", + "summary": "Get the firewall policy ID", + "description": "Get the firewall policy ID by using the prepared query.", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -3620,15 +3377,15 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": 348, - "y": -180 + "x": 0, + "y": -324 } }, "4a97": { "name": "makeData", "canvasName": "makeData", - "summary": "Create Payload - \"Get FW Policy List\" ", - "description": "This task takes an input and converts it to a different data type. For example, converting a number into a string.", + "summary": "Create payload to get the firewall policy list", + "description": "Create payload to get the firewall policy list", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -3647,15 +3404,15 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": 348, - "y": -540 + "x": 0, + "y": -612 } }, "39d0": { "name": "makeData", "canvasName": "makeData", - "summary": "Create Payload - \"Update FW Policy\" ", - "description": "This task takes an input and converts it to a different data type. For example, converting a number into a string.", + "summary": "Create payload to update the firewall policy comment", + "description": "Create payload to update the firewall policy comment", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -3663,9 +3420,9 @@ "displayName": "Tools", "variables": { "incoming": { - "input": "{\n \"method\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/}/pkg//firewall/policy\",\n \"data\": [\n {\n \"policyid\": \"\",\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}", + "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.2110.merged_object" + "variables": "$var.7e71.merged_object" }, "outgoing": { "output": "" @@ -3674,15 +3431,15 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": 348, - "y": -48 + "x": 0, + "y": -12 } }, "cc40": { "name": "postJsonrpc", "canvasName": "postJsonrpc", - "summary": "Update Firewall Policy", - "description": "This is a generic json rpc api request", + "summary": "Update firewall policy with comment", + "description": "Update firewall policy with comment request", "location": "Adapter", "locationType": "FortiManager", "app": "FortiManager", @@ -3700,73 +3457,225 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": 348, - "y": 60 - } - } - }, - "transitions": { - "2110": { - "397a": { - "state": "success", - "type": "standard" - } - }, - "8372": { - "a8b0": { - "state": "success", - "type": "standard" - } - }, - "workflow_start": { - "a6ad": { - "state": "success", - "type": "standard" - } - }, - "workflow_end": {}, - "397a": { - "4a97": { - "state": "success", - "type": "standard" - } - }, - "4c23": { - "a050": { - "state": "success", - "type": "standard" + "x": 0, + "y": 96 } }, - "a050": { - "workflow_end": { - "state": "success", - "type": "standard" + "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 } }, - "a6ad": { - "c8d5": { + "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" } }, - "09a6": { - "21dc": { - "type": "standard", - "state": "success" - }, - "4a48": { - "type": "standard", - "state": "error" + "2110": { + "4a97": { + "state": "success", + "type": "standard" } }, - "21dc": { - "4c23": { + "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" - }, - "c0e5": { - "type": "standard", - "state": "failure" } }, "c8d5": { @@ -3793,24 +3702,18 @@ "type": "standard" } }, - "b2b9": { - "09a6": { - "state": "success", + "42cd": { + "1351": { + "state": "error", "type": "standard" }, - "39d0": { - "type": "standard", - "state": "failure" - } - }, - "42cd": { "8372": { "state": "success", "type": "standard" } }, "a8b0": { - "b2b9": { + "5dfd": { "state": "success", "type": "standard" } @@ -3828,9 +3731,45 @@ } }, "cc40": { - "4c23": { + "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" } } }, @@ -3838,15 +3777,23 @@ "type": "object", "properties": { "adomName": { - "type": "string", - "examples": [ - "root" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] }, "policyPackageName": { - "type": "string", - "examples": [ - "lhTest_policy-package" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] }, "policyName": { @@ -3858,27 +3805,46 @@ "object", "string" ] + }, + "comment": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] } }, "required": [ "adomName", "policyPackageName", - "policyName" + "policyName", + "comment" ] }, "outputSchema": { "type": "object", "properties": { "adomName": { - "type": "string", - "examples": [ - "root" - ] - }, - "policyPackageName": { - "type": "string", - "examples": [ - "lhTest_policy-package" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] }, "policyName": { @@ -3891,6 +3857,16 @@ "string" ] }, + "comment": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, "_id": { "type": "string", "pattern": "^[0-9a-f]{24}$" @@ -3905,30 +3881,29 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-06-13T18:28:24.532Z", - "lastUpdatedVersion": "4.69.69", + "last_updated": "2025-07-11T02:53:49.145Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { - "provenance": "okta", + "provenance": "CloudAAA", "username": "trinh.do@itential.com", - "firstname": "Trinh", - "inactive": false, - "sso": true, - "nameID": "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": false, + "inactive": true, "sso": true, "nameID": "loan.huynh@itential.com" }, "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", "tags": [], "groups": [], - "migrationVersion": 6 + "migrationVersion": 5 } }, { @@ -3961,8 +3936,8 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": 300, - "y": 348 + "x": 0, + "y": 204 } }, "workflow_start": { @@ -3972,7 +3947,7 @@ "y": 0.5, "nodeLocation": { "x": 0, - "y": -336 + "y": -252 } }, "workflow_end": { @@ -3982,34 +3957,7 @@ "y": 0.5, "nodeLocation": { "x": 0, - "y": 564 - } - }, - "397a": { - "name": "stub", - "canvasName": "stub", - "summary": "Create new Adom", - "description": "POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy", - "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": 12 + "y": 312 } }, "a6ad": { @@ -4036,74 +3984,14 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -240 - } - }, - "09a6": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Prepare Create Policy Package Payload", - "description": "Perform a JSON Transformation using the JST library.", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "tr_id": "684836f21c63275a329f412e", - "variableMap": { - "adomName": "$var.job.adomName" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } - }, - "outgoing": { - "FWPolicyObject": null - }, - "decorators": [] - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -288, - "y": 168 - } - }, - "21dc": { - "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.09a6.FWPolicyObject", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -288, - "y": 348 + "y": -156 } }, "c8d5": { "name": "transformation", "canvasName": "transformation", "summary": "Standard Output", - "description": "Standard output for workflows.", + "description": "Create ADOM completed.", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -4114,7 +4002,7 @@ "tr_id": "683ff697a3e4e1e6bbb279ca", "variableMap": { "success": true, - "reason": "Create Firewall Policy completed." + "reason": "Create ADOM completed." }, "options": { "extractOutput": true, @@ -4133,7 +4021,7 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -156 + "y": -72 } }, "9a50": { @@ -4169,8 +4057,8 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -672, - "y": 564 + "x": -336, + "y": 312 } }, "4a48": { @@ -4195,8 +4083,8 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -672, - "y": 168 + "x": -336, + "y": 108 } }, "c0e5": { @@ -4221,8 +4109,8 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -672, - "y": 348 + "x": -336, + "y": 204 } }, "f207": { @@ -4237,7 +4125,7 @@ "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}", + "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" }, @@ -4248,8 +4136,8 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": 300, - "y": 168 + "x": 0, + "y": 108 } }, "eaf5": { @@ -4282,7 +4170,7 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -72 + "y": 12 } } }, @@ -4304,42 +4192,12 @@ } }, "workflow_end": {}, - "397a": { - "09a6": { - "state": "success", - "type": "standard" - }, - "f207": { - "state": "success", - "type": "standard" - } - }, "a6ad": { "c8d5": { "state": "success", "type": "standard" } }, - "09a6": { - "21dc": { - "state": "success", - "type": "standard" - }, - "4a48": { - "type": "standard", - "state": "error" - } - }, - "21dc": { - "c0e5": { - "type": "standard", - "state": "error" - }, - "workflow_end": { - "state": "success", - "type": "standard" - } - }, "c8d5": { "eaf5": { "state": "success", @@ -4375,7 +4233,7 @@ } }, "eaf5": { - "397a": { + "f207": { "state": "success", "type": "standard" } @@ -4385,9 +4243,13 @@ "type": "object", "properties": { "adomName": { - "type": "string", - "examples": [ - "root" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] } }, @@ -4399,9 +4261,13 @@ "type": "object", "properties": { "adomName": { - "type": "string", - "examples": [ - "root" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] }, "_id": { @@ -4418,30 +4284,29 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-06-13T18:28:24.532Z", - "lastUpdatedVersion": "4.69.69", + "last_updated": "2025-07-11T02:53:49.146Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { - "provenance": "okta", + "provenance": "CloudAAA", "username": "trinh.do@itential.com", - "firstname": "Trinh", - "inactive": false, - "sso": true, - "nameID": "trinh.do@itential.com" + "firstname": "trinh", + "inactive": false }, "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, "created_by": { "provenance": "okta", "username": "loan.huynh@itential.com", "firstname": "Loan", - "inactive": false, + "inactive": true, "sso": true, "nameID": "loan.huynh@itential.com" }, + "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", "tags": [], "groups": [], - "migrationVersion": 6 + "migrationVersion": 5 } }, { @@ -4456,7 +4321,7 @@ "name": "postJsonrpc", "canvasName": "postJsonrpc", "summary": "Create Policy Package", - "description": "This is a generic json rpc api request", + "description": "Create Policy Package", "location": "Adapter", "locationType": "FortiManager", "app": "FortiManager", @@ -4468,14 +4333,14 @@ "adapter_id": "FortiManager" }, "outgoing": { - "result": "" + "result": null } }, "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": 300, - "y": 348 + "x": 0, + "y": 204 } }, "workflow_start": { @@ -4485,7 +4350,7 @@ "y": 0.5, "nodeLocation": { "x": 0, - "y": -336 + "y": -252 } }, "workflow_end": { @@ -4495,34 +4360,7 @@ "y": 0.5, "nodeLocation": { "x": 0, - "y": 564 - } - }, - "397a": { - "name": "stub", - "canvasName": "stub", - "summary": "Create new Policy Package", - "description": "POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy", - "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": 12 + "y": 312 } }, "a6ad": { @@ -4549,68 +4387,7 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -240 - } - }, - "09a6": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Prepare Create Policy Package", - "description": "Perform a JSON Transformation using the JST library.", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "tr_id": "684837741c63275a329f412f", - "variableMap": { - "adomName": "$var.job.adomName", - "policyPackageName": "$var.job.policyPackageName" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } - }, - "outgoing": { - "FWPolicyObject": null - }, - "decorators": [] - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -288, - "y": 168 - } - }, - "21dc": { - "name": "postJsonrpc", - "canvasName": "postJsonrpc", - "summary": "Create Policy Package", - "description": "This is a generic json rpc api request", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "body": "$var.09a6.FWPolicyObject", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -288, - "y": 348 + "y": -156 } }, "c8d5": { @@ -4628,7 +4405,7 @@ "tr_id": "683ff697a3e4e1e6bbb279ca", "variableMap": { "success": true, - "reason": "Create Firewall Policy completed." + "reason": "Create Policy Package completed." }, "options": { "extractOutput": true, @@ -4647,14 +4424,14 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -156 + "y": -72 } }, "9a50": { "name": "transformation", "canvasName": "transformation", - "summary": "Failure path - Standard Output", - "description": "Standard output for workflows.", + "summary": "Failure path", + "description": "Failure path", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -4683,15 +4460,15 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -672, - "y": 564 + "x": -312, + "y": 312 } }, "4a48": { "name": "newVariable", "canvasName": "newVariable", "summary": "reason", - "description": "Create a new Job variable by Job ID and assign it a value.", + "description": "Failed to prepare policy package create payload.", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -4700,7 +4477,7 @@ "variables": { "incoming": { "name": "reason", - "value": "Failed to Prepare policy package seats." + "value": "Failed to prepare policy package create payload." }, "outgoing": { "value": "" @@ -4709,15 +4486,15 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -672, - "y": 168 + "x": -312, + "y": 108 } }, "c0e5": { "name": "newVariable", "canvasName": "newVariable", "summary": "reason", - "description": "Create a new Job variable by Job ID and assign it a value.", + "description": "Failed to create policy package.", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -4726,7 +4503,7 @@ "variables": { "incoming": { "name": "reason", - "value": "Failed to create firewall policy." + "value": "Failed to create policy package." }, "outgoing": { "value": "" @@ -4735,15 +4512,15 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -672, - "y": 348 + "x": -312, + "y": 204 } }, "f207": { "name": "makeData", "canvasName": "makeData", "summary": "Create Payload - \"Create Policy Package\"", - "description": "This task takes an input and converts it to a different data type. For example, converting a number into a string.", + "description": "Create Payload - \"Create Policy Package\"", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -4751,7 +4528,7 @@ "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 \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n}", + "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" }, @@ -4762,8 +4539,8 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": 300, - "y": 168 + "x": 0, + "y": 108 } }, "eaf5": { @@ -4803,7 +4580,7 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -72 + "y": 12 } } }, @@ -4825,42 +4602,12 @@ } }, "workflow_end": {}, - "397a": { - "09a6": { - "state": "success", - "type": "standard" - }, - "f207": { - "state": "success", - "type": "standard" - } - }, "a6ad": { "c8d5": { "state": "success", "type": "standard" } }, - "09a6": { - "21dc": { - "state": "success", - "type": "standard" - }, - "4a48": { - "type": "standard", - "state": "error" - } - }, - "21dc": { - "c0e5": { - "type": "standard", - "state": "error" - }, - "workflow_end": { - "state": "success", - "type": "standard" - } - }, "c8d5": { "eaf5": { "state": "success", @@ -4896,7 +4643,7 @@ } }, "eaf5": { - "397a": { + "f207": { "state": "success", "type": "standard" } @@ -4906,15 +4653,23 @@ "type": "object", "properties": { "adomName": { - "type": "string", - "examples": [ - "root" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] }, "policyPackageName": { - "type": "string", - "examples": [ - "lhTest_policy-package" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] } }, @@ -4927,15 +4682,23 @@ "type": "object", "properties": { "adomName": { - "type": "string", - "examples": [ - "root" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] }, "policyPackageName": { - "type": "string", - "examples": [ - "lhTest_policy-package" + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" ] }, "_id": { @@ -4952,321 +4715,29 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-06-13T18:28:24.533Z", - "lastUpdatedVersion": "4.69.69", + "last_updated": "2025-07-11T02:53:49.147Z", + "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { - "provenance": "okta", + "provenance": "CloudAAA", "username": "trinh.do@itential.com", - "firstname": "Trinh", - "inactive": false, - "sso": true, - "nameID": "trinh.do@itential.com" + "firstname": "trinh", + "inactive": false }, "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, "created_by": { "provenance": "okta", "username": "loan.huynh@itential.com", "firstname": "Loan", - "inactive": false, + "inactive": true, "sso": true, "nameID": "loan.huynh@itential.com" }, + "canvasVersion": 3, + "createdBy": "67d9adba294dc79a78c56bec", "tags": [], "groups": [], - "migrationVersion": 6 - } - }, - { - "iid": 41, - "reference": "683f2241a3e4e1e6bbb279c9", - "type": "transformation", - "folder": "/Create Objects (Adom, Policy Pkg, Policy)", - "document": { - "_id": "683f2241a3e4e1e6bbb279c9", - "name": "Prepare Create Firewall Policy Payload", - "description": "", - "incoming": [ - { - "$id": "FWPolicyPayload", - "type": "object", - "properties": { - "id": { - "type": "integer", - "examples": [ - 1 - ] - }, - "method": { - "type": "string", - "examples": [ - "add" - ] - }, - "params": { - "type": "array", - "items": { - "type": "object", - "properties": { - "url": { - "type": "string", - "examples": [ - "/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy" - ] - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "lhTest_policy1_frIAP" - ] - }, - "srcintf": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "any" - ] - } - }, - "dstintf": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "any" - ] - } - }, - "srcaddr": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "all" - ] - } - }, - "dstaddr": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "all" - ] - } - }, - "action": { - "type": "string", - "examples": [ - "accept" - ] - }, - "schedule": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "always" - ] - } - }, - "service": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "ALL" - ] - } - }, - "status": { - "type": "string", - "examples": [ - "enable" - ] - }, - "logtraffic": { - "type": "string", - "examples": [ - "all" - ] - } - }, - "required": [] - } - } - }, - "required": [] - } - } - }, - "required": [] - }, - { - "$id": "adomName", - "type": "string", - "examples": [ - "root" - ] - }, - { - "$id": "policyPackageName", - "type": "string", - "examples": [ - "lhTest_policy-package" - ] - }, - { - "$id": "policyName", - "type": "string", - "examples": [ - "lhTest_policy2_frIAP" - ] - } - ], - "outgoing": [ - { - "$id": "FWPolicyObject", - "type": "object", - "properties": {}, - "required": [] - } - ], - "steps": [ - { - "id": 4, - "type": "template", - "library": "String", - "method": "templateLiteral", - "template": "{\n \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"name\": \"${policy_name}\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}", - "args": [ - null, - null, - null - ], - "view": { - "row": 2, - "col": 2 - }, - "context": "#" - }, - { - "id": 11, - "type": "assign", - "from": { - "location": "incoming", - "name": "policyName", - "ptr": "" - }, - "to": { - "location": "template", - "name": 4, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 12, - "type": "assign", - "from": { - "location": "incoming", - "name": "policyPackageName", - "ptr": "" - }, - "to": { - "location": "template", - "name": 4, - "ptr": "/args/1/value" - }, - "context": "#" - }, - { - "id": 13, - "type": "assign", - "from": { - "location": "incoming", - "name": "adomName", - "ptr": "" - }, - "to": { - "location": "template", - "name": 4, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 15, - "type": "declaration", - "library": "Object", - "method": "new Object", - "args": [ - null - ], - "view": { - "row": 2, - "col": 3 - }, - "context": "#" - }, - { - "id": 16, - "type": "assign", - "from": { - "location": "template", - "name": 4, - "ptr": "/return" - }, - "to": { - "location": "declaration", - "name": 15, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 17, - "type": "assign", - "from": { - "location": "declaration", - "name": 15, - "ptr": "/return" - }, - "to": { - "location": "outgoing", - "name": "FWPolicyObject", - "ptr": "" - }, - "context": "#" - } - ], - "functions": [], - "comments": [], - "view": { - "col": 4, - "row": 6 - }, - "created": "2025-06-13T17:32:25.152Z", - "createdBy": { - "_id": "681234ab0b98f9bb9fc0d0f9", - "provenance": "okta", - "username": "loan.huynh@itential.com" - }, - "lastUpdated": "2025-06-13T18:28:24.534Z", - "lastUpdatedBy": { - "_id": "6818ac1715b167dd387adf61", - "provenance": "okta", - "username": "trinh.do@itential.com" - }, - "version": "4.3.15", - "tags": [] + "migrationVersion": 5 } }, { @@ -5708,1156 +5179,7130 @@ "col": 4, "row": 6 }, - "created": "2025-06-13T17:32:25.147Z", + "created": "2025-06-30T18:33:44.321Z", "createdBy": { - "_id": "681234ab0b98f9bb9fc0d0f9", - "provenance": "okta", - "username": "loan.huynh@itential.com" + "_id": "67d9adba294dc79a78c56bec", + "provenance": "CloudAAA", + "username": "trinh.do@itential.com" }, - "lastUpdated": "2025-06-13T18:28:24.534Z", + "lastUpdated": "2025-07-11T02:53:49.147Z", "lastUpdatedBy": { - "_id": "6818ac1715b167dd387adf61", - "provenance": "okta", + "_id": "67d9adba294dc79a78c56bec", + "provenance": "CloudAAA", "username": "trinh.do@itential.com" }, - "version": "4.3.15", + "version": "4.3.6-2023.2.12", "tags": [] } }, { - "iid": 44, - "reference": "6840008662116438683f993c", - "type": "transformation", - "folder": "/Update Firewall Policy", + "iid": 62, + "reference": "684c2a9f1c63275a329f4132", + "type": "jsonForm", + "folder": "/Delete Objects", "document": { - "_id": "6840008662116438683f993c", - "name": "Prepare Update Firewall Policy Payload", + "id": "684c2a9f1c63275a329f4132", + "created": "2025-06-13T13:41:51.845Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-11T02:53:49.148Z", + "lastUpdatedBy": "trinh.do@itential.com", "description": "", - "incoming": [ - { - "$id": "FWPolicyPayload", - "type": "object", - "properties": { - "id": { - "type": "integer", - "examples": [ - 1 - ] - }, - "method": { - "type": "string", - "examples": [ - "add" - ] - }, - "params": { - "type": "array", - "items": { - "type": "object", - "properties": { - "url": { - "type": "string", - "examples": [ - "/pm/config/adom/root/pkg/lhTest_policy-package/firewall/policy" - ] - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "lhTest_policy1_frIAP" - ] - }, - "srcintf": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "any" - ] - } - }, - "dstintf": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "any" - ] - } - }, - "srcaddr": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "all" - ] - } - }, - "dstaddr": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "all" - ] - } - }, - "action": { - "type": "string", - "examples": [ - "accept" - ] - }, - "schedule": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "always" - ] - } - }, - "service": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "ALL" - ] - } - }, - "status": { - "type": "string", - "examples": [ - "enable" - ] - }, - "logtraffic": { - "type": "string", - "examples": [ - "all" - ] - } - }, - "required": [] - } - } - }, - "required": [] - } - } - }, - "required": [] - }, - { - "$id": "adomName", - "type": "string", - "examples": [ - "root" - ] - }, - { - "$id": "policyPackageName", - "type": "string", - "examples": [ - "lhTest_policy-package" - ] - }, - { - "$id": "policyID", - "type": "integer", - "examples": [ - 8 - ] - } - ], - "outgoing": [ - { - "$id": "FWPolicyObject", - "type": "object", - "properties": {}, - "required": [] + "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": "FortiManager 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-11T02:53:49.149Z", + "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": "FortiManager 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-11T02:53:49.149Z", + "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": "FortiManager 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": -396 + } + }, + "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-11T02:53:49.150Z", + "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", + "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-11T02:53:49.151Z", + "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-11T02:53:49.155Z", + "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", + "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-11T02:53:49.156Z", + "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-11T02:53:49.157Z", + "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-11T02:53:49.158Z", + "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", + "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-11T02:53:49.159Z", + "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", + "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-11T02:53:49.160Z", + "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", + "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-11T02:53:49.161Z", + "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-11T02:53:49.162Z", + "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": 84, + "type": "jsonForm", + "reference": "68705dff5e764b5fa6470d4b", + "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "document": { + "id": "68705dff5e764b5fa6470d4b", + "created": "2025-07-11T00:42:39.520Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-11T02:53:49.163Z", + "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": "Create Firewall Policy" + } + }, + { + "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-11T02:53:49.164Z", + "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-11T02:53:49.165Z", + "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-11T02:53:49.167Z", + "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" + } } - ], - "steps": [ - { - "id": 4, - "type": "template", - "library": "String", - "method": "templateLiteral", - "template": "{\n \"id\": 1,\n \"method\": \"update\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom/${adom}/pkg/${policy_package}/firewall/policy\",\n \"data\": [\n {\n \"policyid\": ${policy_id},\n \"srcintf\": [\"port1\"],\n \"dstintf\": [\"port2\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"service\": [\"ALL\"],\n \"schedule\": [\"always\"],\n \"action\": \"deny\",\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}", - "args": [ - null, - null, - null - ], - "view": { - "row": 2, - "col": 2 + }, + "tags": [], + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-11T02:53:49.168Z", + "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", + "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": "" + } }, - "context": "#" + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -504 + } }, - { - "id": 12, - "type": "assign", - "from": { - "location": "incoming", - "name": "policyPackageName", - "ptr": "" + "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": "" + } }, - "to": { - "location": "template", - "name": 4, - "ptr": "/args/1/value" + "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": [] }, - "context": "#" + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -600 + } }, - { - "id": 13, - "type": "assign", - "from": { - "location": "incoming", - "name": "adomName", - "ptr": "" + "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": [] }, - "to": { - "location": "template", - "name": 4, - "ptr": "/args/0/value" + "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": "" + } }, - "context": "#" + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -408 + } }, - { - "id": 15, - "type": "declaration", - "library": "Object", - "method": "new Object", - "args": [ - null - ], - "view": { - "row": 2, - "col": 3 + "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": "" + } }, - "context": "#" + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -324 + } }, - { - "id": 16, - "type": "assign", - "from": { - "location": "template", - "name": 4, - "ptr": "/return" - }, - "to": { - "location": "declaration", - "name": 15, - "ptr": "/args/0/value" + "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": "" + } }, - "context": "#" + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -144 + } }, - { - "id": 17, - "type": "assign", - "from": { - "location": "declaration", - "name": 15, - "ptr": "/return" + "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": "" + } }, - "to": { - "location": "outgoing", - "name": "FWPolicyObject", - "ptr": "" + "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 + } }, - "context": "#" + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": 36 + } }, - { - "id": 18, - "type": "assign", - "from": { - "location": "incoming", - "name": "policyID", - "ptr": "" + "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 + } }, - "to": { - "location": "template", - "name": 4, - "ptr": "/args/2/value" + "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": "" + } }, - "context": "#" + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 144, + "y": -60 + } } - ], - "functions": [], - "comments": [], - "view": { - "col": 4, - "row": 6 - }, - "created": "2025-06-13T17:32:25.164Z", - "createdBy": { - "_id": "681234ab0b98f9bb9fc0d0f9", - "provenance": "okta", - "username": "loan.huynh@itential.com" - }, - "lastUpdated": "2025-06-13T18:28:24.535Z", - "lastUpdatedBy": { - "_id": "6818ac1715b167dd387adf61", - "provenance": "okta", - "username": "trinh.do@itential.com" }, - "version": "4.3.15", - "tags": [] - } - }, - { - "iid": 59, - "reference": "684836f21c63275a329f412e", - "type": "transformation", - "folder": "/Create Objects (Adom, Policy Pkg, Policy)", - "document": { - "_id": "684836f21c63275a329f412e", - "name": "Prepare Create Adom Payload", - "description": "", - "incoming": [ - { - "$id": "adomName", - "type": "string", - "examples": [ - "root" - ] - } - ], - "outgoing": [ - { - "$id": "FWPolicyObject", - "type": "object", - "properties": {}, - "required": [] - } - ], - "steps": [ - { - "id": 4, - "type": "template", - "library": "String", - "method": "templateLiteral", - "template": "{\n \"method\": \"add\",\n \"params\": [\n {\n \"data\": [\n {\n \"name\": \"${adom}\"\n }\n ],\n \"url\": \"/dvmdb/adom\"\n }\n ]\n\n}", - "args": [ - null - ], - "view": { - "row": 2, - "col": 2 - }, - "context": "#" + "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" + } }, - { - "id": 15, - "type": "declaration", - "library": "Object", - "method": "new Object", - "args": [ - null - ], - "view": { - "row": 2, - "col": 3 - }, - "context": "#" + "39d0": { + "cc40": { + "state": "success", + "type": "standard" + } }, - { - "id": 16, - "type": "assign", - "from": { - "location": "template", - "name": 4, - "ptr": "/return" + "cc40": { + "c0e5": { + "type": "standard", + "state": "error" }, - "to": { - "location": "declaration", - "name": 15, - "ptr": "/args/0/value" + "1b84": { + "state": "success", + "type": "standard" + } + }, + "9ac7": { + "9ad6": { + "state": "failure", + "type": "standard" }, - "context": "#" + "16bc": { + "state": "success", + "type": "standard" + } }, - { - "id": 17, - "type": "assign", - "from": { - "location": "declaration", - "name": 15, - "ptr": "/return" + "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" + ] }, - "to": { - "location": "outgoing", - "name": "FWPolicyObject", - "ptr": "" + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, - "context": "#" - }, - { - "id": 18, - "type": "assign", - "from": { - "location": "incoming", - "name": "adomName", - "ptr": "" + "initiator": { + "type": "string" }, - "to": { - "location": "template", - "name": 4, - "ptr": "/args/0/value" + "reason": { + "type": "string" }, - "context": "#" + "existence": { + "type": "boolean" + } } - ], - "functions": [], - "comments": [], - "view": { - "col": 4, - "row": 6 - }, - "created": "2025-06-13T17:32:25.180Z", - "createdBy": { - "_id": "681234ab0b98f9bb9fc0d0f9", - "provenance": "okta", - "username": "loan.huynh@itential.com" }, - "lastUpdated": "2025-06-13T18:28:24.536Z", - "lastUpdatedBy": { - "_id": "6818ac1715b167dd387adf61", - "provenance": "okta", - "username": "trinh.do@itential.com" + "tags": [], + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-11T02:53:49.169Z", + "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 }, - "version": "4.3.15", - "tags": [] + "groups": [], + "migrationVersion": 5 } }, { - "iid": 60, - "reference": "684837741c63275a329f412f", - "type": "transformation", - "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "iid": 90, + "type": "workflow", + "reference": "45c0dc2d-34f0-48a3-8413-434a3e4a0c2f", + "folder": "/Check Objects Existence", "document": { - "_id": "684837741c63275a329f412f", - "name": "Prepare Create Policy Package", - "description": "", - "incoming": [ - { - "$id": "adomName", - "type": "string", - "examples": [ - "root" - ] - }, - { - "$id": "policyPackageName", - "type": "string", - "examples": [ - "lhTest_policy-package" - ] - } - ], - "outgoing": [ - { - "$id": "FWPolicyObject", - "type": "object", - "properties": {}, - "required": [] - } - ], - "steps": [ - { - "id": 4, - "type": "template", - "library": "String", - "method": "templateLiteral", - "template": "{\n \"id\": 1,\n \"method\": \"set\",\n \"params\": [\n {\n \"url\": \"/pm/pkg/adom/${adom}\",\n \"data\": [\n {\n \"name\": \"${policy_package}\",\n \"type\": \"pkg\",\n \"package settings\": {\n \"ngfw-mode\": 0,\n \"central-nat\": 0,\n \"policy-offload-level\": 0\n }\n }\n ]\n }\n ]\n\n}\n", - "args": [ - null, - null - ], - "view": { - "row": 2, - "col": 2 + "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": "" + } }, - "context": "#" + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -708 + } }, - { - "id": 13, - "type": "assign", - "from": { - "location": "incoming", - "name": "adomName", - "ptr": "" + "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": "" + } }, - "to": { - "location": "template", - "name": 4, - "ptr": "/args/0/value" + "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": "" + } }, - "context": "#" + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -48 + } }, - { - "id": 15, - "type": "declaration", - "library": "Object", - "method": "new Object", - "args": [ - null - ], - "view": { - "row": 2, - "col": 3 - }, - "context": "#" + "workflow_start": { + "name": "workflow_start", + "groups": [], + "x": 0, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": -996 + } }, - { - "id": 16, - "type": "assign", - "from": { - "location": "template", - "name": 4, - "ptr": "/return" - }, - "to": { - "location": "declaration", - "name": 15, - "ptr": "/args/0/value" - }, - "context": "#" + "workflow_end": { + "name": "workflow_end", + "groups": [], + "x": 1, + "y": 0.5, + "nodeLocation": { + "x": 0, + "y": 36 + } }, - { - "id": 17, - "type": "assign", - "from": { - "location": "declaration", - "name": 15, - "ptr": "/return" - }, - "to": { - "location": "outgoing", - "name": "FWPolicyObject", - "ptr": "" + "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": "" + } }, - "context": "#" + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -900 + } }, - { - "id": 18, - "type": "assign", - "from": { - "location": "incoming", - "name": "policyPackageName", - "ptr": "" + "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": [] }, - "to": { - "location": "template", - "name": 4, - "ptr": "/args/1/value" + "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": [] }, - "context": "#" - } - ], - "functions": [], - "comments": [], - "view": { - "col": 4, - "row": 6 - }, - "created": "2025-06-13T17:32:25.181Z", - "createdBy": { - "_id": "681234ab0b98f9bb9fc0d0f9", - "provenance": "okta", - "username": "loan.huynh@itential.com" - }, - "lastUpdated": "2025-06-13T18:28:24.535Z", - "lastUpdatedBy": { - "_id": "6818ac1715b167dd387adf61", - "provenance": "okta", - "username": "trinh.do@itential.com" - }, - "version": "4.3.15", - "tags": [] - } - }, - { - "iid": 56, - "reference": "68407bdffb43d1b9e324b650", - "type": "jsonForm", - "folder": "/", - "document": { - "id": "68407bdffb43d1b9e324b650", - "created": "2025-06-04T17:01:19.348Z", - "createdBy": "loan.huynh@itential.com", - "lastUpdated": "2025-06-13T18:28:24.537Z", - "lastUpdatedBy": "trinh.do@itential.com", - "name": "FortiManager Create FW Policy", - "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": [] + "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 }, - "sourcePointer": "/response/result/0/data", - "sourceKeyPointer": "/name" + "outgoing": { + "value": "" + } }, - { - "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" - } - ] - } + "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" }, - "sourcePointer": "/response/result/0/data", - "sourceKeyPointer": "/name" - }, - { - "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" + "outgoing": { + "result": "" + } }, - { - "nodeId": "4981a411-3e03-42c7-8c60-0962f4d5cb32", - "type": "string", - "title": "KEEP_Policy", - "description": "", - "placeholder": "Select an item", - "required": false, - "enum": [], - "enumNames": [], - "binding": true, - "rel": "collection", - "targetPointer": "/enum", - "method": "POST", - "uniqueItems": false, - "base": "/FortiManager", - "href": "/getFirewallPolicyPackage", - "body": { - "adomid": "root", - "packid": "lhTest_policy-package", - "policy": "", - "attr": "", - "fields": [], - "filter": [], - "option": [], - "range": [], - "sortings": [] + "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" }, - "sourcePointer": "/response/result/0/data", - "sourceKeyPointer": "/name" + "outgoing": { + "return_data": null + } }, - { - "nodeId": "875cfe72-5434-4e7b-be91-86e8ac404910", - "type": "string", - "title": "Text 2", - "description": "", - "placeholder": "Enter text", - "required": false, - "readOnly": false, - "binding": false, - "rel": "item", - "targetPointer": "/default" + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -324 } - ] - }, - "schema": { - "title": "FortiManager Create FW Policy", - "description": "", - "type": "object", - "required": [ - "adom", - "policyName" - ], - "properties": { - "adom": { - "type": "string", - "title": "Adom", - "_id": "/properties/adom", - "description": "", - "enum": [], - "enumNames": [] + }, + "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": "" + } }, - "policyPackage": { - "type": "string", - "title": "Policy Package", - "_id": "/properties/policyPackage", - "description": "", - "enum": [], - "enumNames": [] + "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": "" + } }, - "policyName": { - "type": "string", - "title": "Policy Name", - "_id": "/properties/policyName", - "description": "Enter the Policy Name" + "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": "" + } }, - "keepPolicy": { - "type": "string", - "title": "KEEP_Policy", - "_id": "/properties/keepPolicy", - "description": "", - "enum": [], - "enumNames": [] + "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": "" + } }, - "text2": { - "type": "string", - "title": "Text 2", - "_id": "/properties/text2", - "description": "" + "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" } - } - }, - "uiSchema": { - "adom": { - "ui:placeholder": "Select an item" }, - "policyPackage": { - "ui:placeholder": "Select an item" + "c0e5": { + "8646": { + "state": "success", + "type": "standard" + } }, - "policyName": { - "ui:placeholder": "Enter the Policy Name" + "42cd": { + "8372": { + "state": "success", + "type": "standard" + }, + "0fdb": { + "type": "standard", + "state": "error" + } }, - "keepPolicy": { - "ui:placeholder": "Select an item" + "a8b0": { + "5dfd": { + "state": "success", + "type": "standard" + } }, - "text2": { - "ui:placeholder": "Enter text" - } - }, - "bindingSchema": { - "properties": { - "adom": { - "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" - } - }, - "policyPackage": { - "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" - } + "4a97": { + "42cd": { + "state": "success", + "type": "standard" + } + }, + "5dfd": { + "c0e5": { + "state": "failure", + "type": "standard" }, - "keepPolicy": { - "binding:method": "POST", - "binding:link": { - "$ref": "/links", - "rel": "collection" - }, - "binding:body": { - "adomid": "root", - "packid": "lhTest_policy-package", - "policy": "", - "attr": "", - "fields": [], - "filter": [], - "option": [], - "range": [], - "sortings": [] - }, - "binding:target": { - "propertyPointer": "/enum" - }, - "binding:hyperSchema": { - "type": "object", - "base": "/FortiManager", - "links": [ - { - "rel": "collection", - "href": "/getFirewallPolicyPackage", - "targetMediaType": "application/json", - "targetSchema": { - "$ref": "#" - }, - "variables": [] - } - ] - }, - "binding:source": { - "propertyPointer": "/response/result/0/data", - "keyPointer": "/name" - } + "25a6": { + "state": "success", + "type": "standard" + } + }, + "0fdb": { + "9a50": { + "state": "success", + "type": "standard" + } + }, + "25a6": { + "8646": { + "state": "success", + "type": "standard" } } }, - "validationSchema": {}, - "version": "2020.1" - } - }, - { - "iid": 62, - "reference": "684c2a9f1c63275a329f4132", - "type": "jsonForm", - "folder": "/Delete Objects", - "document": { - "id": "684c2a9f1c63275a329f4132", - "created": "2025-06-13T13:41:51.845Z", - "createdBy": "loan.huynh@itential.com", - "lastUpdated": "2025-06-13T18:28:24.539Z", - "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" + "inputSchema": { + "type": "object", + "properties": { + "adomName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] }, - { - "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" + "policyPackageName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] + }, + "policyName": { + "type": [ + "array", + "boolean", + "null", + "number", + "object", + "string" + ] } + }, + "required": [ + "adomName", + "policyPackageName", + "policyName" ] }, - "schema": { - "title": "FortiManager Delete FW Policy", - "description": "", + "outputSchema": { "type": "object", - "required": [ - "adomName" - ], "properties": { "adomName": { - "type": "string", - "title": "Adom", - "_id": "/properties/adomName", - "description": "", - "enum": [], - "enumNames": [] + "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", - "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" - } + "pattern": "^[0-9a-f]{24}$" }, - "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" - } + "initiator": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "existence": { + "type": "boolean" } } }, - "validationSchema": {}, - "version": "2020.1", - "name": "FortiManager Delete Policy Package" + "tags": [], + "type": "automation", + "font_size": 12, + "last_updated": "2025-07-11T02:53:49.172Z", + "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", + "groups": [], + "migrationVersion": 5 } }, { - "iid": 63, - "reference": "684c5eb91c63275a329f4133", + "iid": 91, "type": "jsonForm", - "folder": "/Delete Objects", + "reference": "6870600d5e764b5fa6470d4f", + "folder": "/Check Objects Existence", "document": { - "id": "684c5eb91c63275a329f4133", - "created": "2025-06-13T17:24:09.733Z", - "createdBy": "loan.huynh@itential.com", - "lastUpdated": "2025-06-13T18:28:24.540Z", + "id": "6870600d5e764b5fa6470d4f", + "created": "2025-07-11T00:51:25.866Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-11T02:53:49.225Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { - "type": "array", + "type": "object", + "description": "", "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", + "nodeId": "d2f413c6-cd05-472a-b5c6-43851b8df0c0", "type": "string", - "title": "Policy Package", + "title": "ADOM", "description": "", "placeholder": "Select an item", "required": false, @@ -6866,51 +12311,61 @@ "binding": true, "rel": "collection", "targetPointer": "/enum", + "customKey": "adomName", "method": "POST", "uniqueItems": false, "base": "/FortiManager", - "href": "/postJsonrpc", "body": { "body": { "method": "get", "params": [ { - "url": "/pm/pkg/adom/root" + "url": "/dvmdb/adom" } ] } }, + "href": "/postJsonrpc", "sourcePointer": "/response/result/0/data", - "sourceKeyPointer": "/name", + "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": "0974ccbf-f23a-4c78-8af3-080e504cd493", + "nodeId": "9ce68b65-4c04-4337-90e6-2f3504df382a", "type": "string", - "title": "Policy Name", - "description": "Enter the Policy Name", - "placeholder": "Enter the Policy Name", - "required": true, + "title": "Firewall Policy", + "description": "", + "placeholder": "Enter text", + "required": false, "readOnly": false, "binding": false, "rel": "item", "targetPointer": "/default", - "customKey": "firewallName" + "customKey": "policyName" } ] }, "schema": { - "title": "FortiManager Delete FW Policy", + "title": "Create Firewall Policy", "description": "", "type": "object", - "required": [ - "adomName", - "firewallName" - ], + "required": [], "properties": { "adomName": { "type": "string", - "title": "Adom", + "title": "ADOM", "_id": "/properties/adomName", "description": "", "enum": [], @@ -6920,15 +12375,13 @@ "type": "string", "title": "Policy Package", "_id": "/properties/policyPackageName", - "description": "", - "enum": [], - "enumNames": [] + "description": "" }, - "firewallName": { - "type": "string", - "title": "Policy Name", - "_id": "/properties/firewallName", - "description": "Enter the Policy Name" + "policyName": { + "type": "string", + "title": "Firewall Policy", + "_id": "/properties/policyName", + "description": "" } } }, @@ -6937,55 +12390,15 @@ "ui:placeholder": "Select an item" }, "policyPackageName": { - "ui:placeholder": "Select an item" + "ui:placeholder": "Enter text" }, - "firewallName": { - "ui:placeholder": "Enter the Policy Name" + "policyName": { + "ui:placeholder": "Enter text" } }, "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", @@ -6996,7 +12409,7 @@ "method": "get", "params": [ { - "url": "/pm/pkg/adom/root" + "url": "/dvmdb/adom" } ] } @@ -7028,78 +12441,98 @@ }, "validationSchema": {}, "version": "2020.1", - "name": "FortiManager Delete FW Policy" + "name": "Check Firewall Policy" } }, { - "iid": 64, - "reference": "684c5f101c63275a329f4134", + "iid": 92, "type": "jsonForm", - "folder": "/Delete Objects", + "reference": "6870600d5e764b5fa6470d50", + "folder": "/Check Objects Existence", "document": { - "id": "684c5f101c63275a329f4134", - "created": "2025-06-13T17:25:36.169Z", - "createdBy": "loan.huynh@itential.com", - "lastUpdated": "2025-06-13T18:28:24.554Z", + "id": "6870600d5e764b5fa6470d50", + "created": "2025-07-11T00:51:25.866Z", + "createdBy": "trinh.do@itential.com", + "lastUpdated": "2025-07-11T02:53:49.227Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { - "type": "array", + "type": "object", + "description": "", "items": [ { - "nodeId": "abba5a9b-de47-4bc5-aa08-c11f9556672c", + "nodeId": "d2f413c6-cd05-472a-b5c6-43851b8df0c0", "type": "string", - "title": "Adom", + "title": "ADOM", "description": "", "placeholder": "Select an item", - "required": true, + "required": false, "enum": [], "enumNames": [], "binding": true, "rel": "collection", "targetPointer": "/enum", + "customKey": "adomName", "method": "POST", "uniqueItems": false, "base": "/FortiManager", - "href": "/getAdoms", "body": { - "adom": "", - "expandMember": "", - "fields": [], - "filter": [], - "loadSub": 0, - "metaFields": [], - "option": "", - "range": [], - "sortings": [] + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } }, + "href": "/postJsonrpc", "sourcePointer": "/response/result/0/data", - "sourceKeyPointer": "/name", - "customKey": "adomName" + "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": "FortiManager Delete Adom", + "title": "Read Policy Package", "description": "", "type": "object", - "required": [ - "adomName" - ], + "required": [], "properties": { "adomName": { "type": "string", - "title": "Adom", + "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": { @@ -7111,15 +12544,14 @@ "rel": "collection" }, "binding:body": { - "adom": "", - "expandMember": "", - "fields": [], - "filter": [], - "loadSub": 0, - "metaFields": [], - "option": "", - "range": [], - "sortings": [] + "body": { + "method": "get", + "params": [ + { + "url": "/dvmdb/adom" + } + ] + } }, "binding:target": { "propertyPointer": "/enum" @@ -7130,7 +12562,7 @@ "links": [ { "rel": "collection", - "href": "/getAdoms", + "href": "/postJsonrpc", "targetMediaType": "application/json", "targetSchema": { "$ref": "#" @@ -7148,7 +12580,63 @@ }, "validationSchema": {}, "version": "2020.1", - "name": "FortiManager Delete Adom" + "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-11T02:53:49.228Z", + "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" } } ], @@ -7175,42 +12663,118 @@ "nodeType": "folder", "name": "Create Objects (Adom, Policy Pkg, Policy)", "children": [ + { + "iid": 58, + "nodeType": "component" + }, + { + "iid": 70, + "nodeType": "component" + }, + { + "iid": 54, + "nodeType": "component" + }, + { + "iid": 84, + "nodeType": "component" + }, { "iid": 57, "nodeType": "component" }, { - "iid": 59, + "iid": 83, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Read Objects", + "children": [ + { + "iid": 78, + "nodeType": "component" + }, + { + "iid": 87, "nodeType": "component" }, { - "iid": 58, + "iid": 75, "nodeType": "component" }, { - "iid": 60, + "iid": 85, "nodeType": "component" }, { - "iid": 54, + "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": 41, + "iid": 91, + "nodeType": "component" + }, + { + "iid": 88, + "nodeType": "component" + }, + { + "iid": 92, "nodeType": "component" } ] }, { "nodeType": "folder", - "name": "Update Firewall Policy", + "name": "Update Objects", "children": [ + { + "iid": 76, + "nodeType": "component" + }, + { + "iid": 82, + "nodeType": "component" + }, { "iid": 55, "nodeType": "component" }, { - "iid": 44, + "iid": 74, + "nodeType": "component" + }, + { + "iid": 68, + "nodeType": "component" + }, + { + "iid": 67, "nodeType": "component" } ] @@ -7224,23 +12788,23 @@ "nodeType": "component" }, { - "iid": 52, + "iid": 63, "nodeType": "component" }, { - "iid": 53, + "iid": 52, "nodeType": "component" }, { - "iid": 63, + "iid": 62, "nodeType": "component" }, { - "iid": 64, + "iid": 53, "nodeType": "component" }, { - "iid": 62, + "iid": 64, "nodeType": "component" } ] @@ -7254,34 +12818,39 @@ "nodeType": "component" } ] - }, - { - "iid": 45, - "nodeType": "component" - }, - { - "iid": 46, - "nodeType": "component" - }, - { - "iid": 56, - "nodeType": "component" } ], "created": "2025-04-24T16:30:18.005Z", "createdBy": { - "_id": "6811213c0b372eda73c63710", + "_id": "67b79a251359a3d6dc3e749a", "provenance": "local_aaa", "username": "admin@pronghorn" }, - "lastUpdated": "2025-06-13T18:51:00.031Z", + "lastUpdated": "2025-07-11T02:53:49.111Z", "lastUpdatedBy": { - "_id": "6818ac1715b167dd387adf61", - "provenance": "okta", + "_id": "67d9adba294dc79a78c56bec", + "provenance": "CloudAAA", "username": "trinh.do@itential.com" }, - "iid": 145, "versionHistory": [ + { + "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", @@ -7295,7 +12864,7 @@ "branchName": "psup-2352" } ], + "iid": 149, "thumbnail": "data:image/png;base64,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", - "backgroundColor": "#FFFFFF", - "referencedComponentHashes": [] + "backgroundColor": "#FFFFFF" } From a5516c0f5df00c835a1c2d5ec0d6c1d83904b1d7 Mon Sep 17 00:00:00 2001 From: trinhdo Date: Fri, 11 Jul 2025 18:38:59 -0400 Subject: [PATCH 08/15] Update fortimanager.project.json Update changes to create for firewall policy. --- .../Projects/fortimanager.project.json | 3076 ++++++++++------- 1 file changed, 1825 insertions(+), 1251 deletions(-) diff --git a/FortiManager/Projects/fortimanager.project.json b/FortiManager/Projects/fortimanager.project.json index b40d8ab..f9ca5da 100644 --- a/FortiManager/Projects/fortimanager.project.json +++ b/FortiManager/Projects/fortimanager.project.json @@ -98,7 +98,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.137Z", + "last_updated": "2025-07-11T22:37:21.570Z", "last_updated_by": { "provenance": "CloudAAA", "username": "trinh.do@itential.com", @@ -371,7 +371,7 @@ "inactive": true }, "createdVersion": "5.55.2-2023.2.21", - "last_updated": "2025-07-11T02:53:49.140Z", + "last_updated": "2025-07-11T22:37:21.574Z", "last_updated_by": { "provenance": "CloudAAA", "username": "trinh.do@itential.com", @@ -851,7 +851,7 @@ "inactive": true }, "createdVersion": "5.55.2-2023.2.21", - "last_updated": "2025-07-11T02:53:49.142Z", + "last_updated": "2025-07-11T22:37:21.575Z", "last_updated_by": { "provenance": "CloudAAA", "username": "trinh.do@itential.com", @@ -1538,7 +1538,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.143Z", + "last_updated": "2025-07-11T22:37:21.575Z", "last_updated_by": { "provenance": "CloudAAA", "username": "trinh.do@itential.com", @@ -2051,7 +2051,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.143Z", + "last_updated": "2025-07-11T22:37:21.577Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { @@ -2538,7 +2538,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.144Z", + "last_updated": "2025-07-11T22:37:21.587Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { @@ -2564,37 +2564,138 @@ } }, { - "iid": 54, - "reference": "38258d9b-ecde-4244-8909-7f6d26047bfb", + "iid": 55, + "reference": "1cbc8be8-38d2-4284-a5e2-d96570ba0aa8", "type": "workflow", - "folder": "/Create Objects (Adom, Policy Pkg, Policy)", + "folder": "/Update Objects", "document": { - "name": "Create Firewall Policy", + "name": "Update Firewall Policy", "tasks": { - "9955": { - "name": "postJsonrpc", - "canvasName": "postJsonrpc", - "summary": "Create Firewall Policy", - "description": "This is a generic json rpc api request", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", + "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": "FortiManager", + "displayName": "Tools", "variables": { "incoming": { - "body": "$var.f207.output", - "adapter_id": "FortiManager" + "type": "success", + "delay": "", + "response": "$var.c8d5.success" }, "outgoing": { - "result": "" + "response": "" } }, "actor": "Pronghorn", "groups": [], "nodeLocation": { "x": 0, - "y": 204 + "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": { @@ -2604,7 +2705,7 @@ "y": 0.5, "nodeLocation": { "x": 0, - "y": -240 + "y": -996 } }, "workflow_end": { @@ -2614,14 +2715,14 @@ "y": 0.5, "nodeLocation": { "x": 0, - "y": 300 + "y": 468 } }, "a6ad": { "name": "stub", "canvasName": "stub", "summary": "README", - "description": "\n1. Get the list of ADOMs\n2. Choose ADOM\n3. Get the list of Policy Packages within chosen ADOM\n - GET /pm/pkg\n4. Get the list of FW policies\n5. Define the FW policy\n6. Create the FW policy\n - POST /pm/config/adom/{adom}/pkg/{package}/firewall/policy\n7. (Optional) Move policy\n - PUT /pm/config/adom/{adom}/pkg/{package}/firewall/policy/move\n8. (Optional) Install policy to device\n - POST /securityconsole/install/package\n\n\n\nSample payload:\n```\n{\n \"adomName\": \"root\",\n \"policyPackageName\": \"lhTest_policy-package\",\n \"policyName\": \"lhTest_policy4_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)\n3. policyName - name of the policy to add\n\n", + "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", @@ -2641,14 +2742,14 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -144 + "y": -900 } }, "c8d5": { "name": "transformation", "canvasName": "transformation", "summary": "Standard Output", - "description": "Standard output for workflows.", + "description": "Update firewall policy with new comment completed.", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -2659,7 +2760,7 @@ "tr_id": "683ff697a3e4e1e6bbb279ca", "variableMap": { "success": true, - "reason": "Create Firewall Policy completed." + "reason": "Update firewall policy with new comment completed." }, "options": { "extractOutput": true, @@ -2678,14 +2779,14 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -60 + "y": -804 } }, "9a50": { "name": "transformation", "canvasName": "transformation", "summary": "Failure path", - "description": "Standard output for workflows.", + "description": "Failure path", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -2714,15 +2815,15 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -300, - "y": 300 + "x": -348, + "y": 468 } }, "4a48": { "name": "newVariable", "canvasName": "newVariable", "summary": "reason", - "description": "Create a new Job variable by Job ID and assign it a value.", + "description": "Failed reason: Failed to update the firewall policy with comment.", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -2731,7 +2832,7 @@ "variables": { "incoming": { "name": "reason", - "value": "Failed to prepare create firewall policy payload." + "value": "Failed to update the firewall policy with comment." }, "outgoing": { "value": "" @@ -2740,15 +2841,15 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -300, - "y": 108 + "x": -348, + "y": 300 } }, "c0e5": { "name": "newVariable", "canvasName": "newVariable", "summary": "reason", - "description": "Create a new Job variable by Job ID and assign it a value.", + "description": "Failed reason: Failed to get Firewall Policy ID.", "location": "Application", "locationType": null, "app": "WorkFlowEngine", @@ -2757,7 +2858,7 @@ "variables": { "incoming": { "name": "reason", - "value": "Failed to create firewall policy." + "value": "Failed to get Firewall Policy ID." }, "outgoing": { "value": "" @@ -2766,42 +2867,41 @@ "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -300, - "y": 204 + "x": -348, + "y": -216 } }, - "f207": { - "name": "makeData", - "canvasName": "makeData", - "summary": "Create Payload - \"Get FW Policy\" ", - "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", + "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": "Tools", + "displayName": "FortiManager", "variables": { "incoming": { - "input": "{\n \"id\": 1,\n \"method\": \"add\",\n \"params\": [\n {\n \"url\": \"/pm/config/adom//pkg//firewall/policy\",\n \"data\": [\n {\n \"name\": \"\",\n \"srcintf\": [\"any\"],\n \"dstintf\": [\"any\"],\n \"srcaddr\": [\"all\"],\n \"dstaddr\": [\"all\"],\n \"action\": \"accept\",\n \"schedule\": [\"always\"],\n \"service\": [\"ALL\"],\n \"status\": \"enable\",\n \"logtraffic\": \"all\"\n }\n ]\n }\n ]\n}", - "outputType": "json", - "variables": "$var.eaf5.merged_object" + "body": "$var.4a97.output", + "adapter_id": "FortiManager" }, "outgoing": { - "output": "" + "result": "" } }, "actor": "Pronghorn", "groups": [], "nodeLocation": { "x": 0, - "y": 108 + "y": -516 } }, - "eaf5": { - "name": "merge", - "canvasName": "merge", - "summary": "Inputs", - "description": "Merge data into a single object", + "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", @@ -2809,255 +2909,105 @@ "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" - } - } - ] + "pass_on_null": false, + "query": "$var.8372.output", + "obj": "$var.42cd.result" }, "outgoing": { - "merged_object": "" + "return_data": "" } }, "actor": "Pronghorn", "groups": [], "nodeLocation": { "x": 0, - "y": 24 - } - } - }, - "transitions": { - "9955": { - "c0e5": { - "type": "standard", - "state": "error" - }, - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "workflow_start": { - "a6ad": { - "state": "success", - "type": "standard" + "y": -324 } }, - "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": { - "type": "standard", - "state": "error" - } - }, - "eaf5": { - "f207": { - "state": "success", - "type": "standard" - } - } - }, - "inputSchema": { - "type": "object", - "properties": { - "adomName": { - "type": [ - "array", - "boolean", - "null", - "number", - "object", - "string" - ] - }, - "policyPackageName": { - "type": [ - "array", - "boolean", - "null", - "number", - "object", - "string" - ] + "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": "" + } }, - "policyName": { - "type": [ - "array", - "boolean", - "null", - "number", - "object", - "string" - ] + "actor": "Pronghorn", + "groups": [], + "nodeLocation": { + "x": 0, + "y": -612 } }, - "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" - } - } - }, - "type": "automation", - "font_size": 12, - "last_updated": "2025-07-11T02:53:49.144Z", - "last_updated_by": { - "provenance": "CloudAAA", - "username": "trinh.do@itential.com", - "firstname": "trinh", - "inactive": false - }, - "lastUpdatedVersion": "5.55.2-2023.2.21", - "created": "2025-04-29T20:32:09.925Z", - "created_by": { - "provenance": "local_aaa", - "username": "admin@pronghorn", - "firstname": "admin", - "inactive": true - }, - "createdVersion": "5.55.2-2023.2.21", - "canvasVersion": 3, - "createdBy": "67d9adba294dc79a78c56bec", - "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.", + "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": "operation", - "displayName": "WorkFlowEngine", + "type": "automatic", + "displayName": "Tools", "variables": { "incoming": { - "name": "reason", - "value": "Failed to get Firewall Policy list." + "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": { - "value": "" + "output": "" } }, "actor": "Pronghorn", "groups": [], "nodeLocation": { - "x": -348, - "y": -516 + "x": 0, + "y": -12 } }, - "2110": { + "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 to get firewall policy list", + "summary": "Inputs for updating the comment", "description": "Merge data into a single object", "location": "Application", "locationType": null, @@ -3087,6 +3037,20 @@ "task": "job", "variable": "policyName" } + }, + { + "key": "comment", + "value": { + "task": "job", + "variable": "comment" + } + }, + { + "key": "fwID", + "value": { + "task": "a8b0", + "variable": "return_data" + } } ] }, @@ -3098,115 +3062,86 @@ "groups": [], "nodeLocation": { "x": 0, - "y": -708 + "y": -120 } }, - "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", + "5dfd": { + "name": "evaluation", + "canvasName": "evaluation", + "summary": "Is the firewall ID NULL?", + "description": "Is the firewall ID NULL?", "location": "Application", "locationType": null, "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Tools", + "type": "operation", + "displayName": "WorkFlowEngine", "variables": { "incoming": { - "input": "response.result[0].data[name=].policyid", - "outputType": "string", - "variables": "$var.2110.merged_object" + "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": { - "output": "" + "return_value": "" } }, "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 + "y": -222 } }, - "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", + "5d8b": { + "name": "query", + "canvasName": "query", + "summary": "Get request's response ", + "description": "Get request's response ", "location": "Application", "locationType": null, "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Tools", + "type": "operation", + "displayName": "WorkFlowEngine", "variables": { "incoming": { - "type": "success", - "delay": "", - "response": "" + "pass_on_null": false, + "query": "response.result[0].status.code", + "obj": "$var.cc40.result" }, "outgoing": { - "response": "" + "return_data": "" } }, "actor": "Pronghorn", "groups": [], "nodeLocation": { "x": 0, - "y": -900 + "y": 192 } }, - "c8d5": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Standard Output", - "description": "Update firewall policy with new comment completed.", + "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", @@ -3214,536 +3149,144 @@ "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 - } + "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": { - "success": null, - "reason": null, - "type": null - }, - "decorators": [] + "return_value": "" + } }, "actor": "Pronghorn", "groups": [], "nodeLocation": { "x": 0, - "y": -804 + "y": 288 } - }, - "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 + } + }, + "transitions": { + "1351": { + "9a50": { + "state": "success", + "type": "standard" } }, - "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 + "2110": { + "4a97": { + "state": "success", + "type": "standard" } }, - "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 + "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": { - "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": "" - } + "1351": { + "state": "error", + "type": "standard" }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 0, - "y": -516 + "8372": { + "state": "success", + "type": "standard" } }, "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 + "5dfd": { + "state": "success", + "type": "standard" } }, "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 + "42cd": { + "state": "success", + "type": "standard" } }, "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": { + "state": "success", + "type": "standard" } }, "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": "" - } + "4a48": { + "type": "standard", + "state": "error" }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 0, - "y": 96 + "5d8b": { + "state": "success", + "type": "standard" } }, "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" + "39d0": { + "state": "success", + "type": "standard" } }, "5dfd": { @@ -3881,7 +3424,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.145Z", + "last_updated": "2025-07-11T22:37:21.589Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { @@ -3957,7 +3500,7 @@ "y": 0.5, "nodeLocation": { "x": 0, - "y": 312 + "y": 564 } }, "a6ad": { @@ -4058,7 +3601,7 @@ "groups": [], "nodeLocation": { "x": -336, - "y": 312 + "y": 564 } }, "4a48": { @@ -4172,33 +3715,158 @@ "x": 0, "y": 12 } - } - }, - "transitions": { - "9955": { - "workflow_end": { - "state": "success", - "type": "standard" - }, - "c0e5": { - "type": "standard", - "state": "error" - } - }, - "workflow_start": { - "a6ad": { - "state": "success", - "type": "standard" - } }, - "workflow_end": {}, - "a6ad": { - "c8d5": { - "state": "success", - "type": "standard" + "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 } }, - "c8d5": { + "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" @@ -4237,6 +3905,34 @@ "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": { @@ -4284,7 +3980,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.146Z", + "last_updated": "2025-07-11T22:37:21.590Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { @@ -4360,7 +4056,7 @@ "y": 0.5, "nodeLocation": { "x": 0, - "y": 312 + "y": 552 } }, "a6ad": { @@ -4461,7 +4157,7 @@ "groups": [], "nodeLocation": { "x": -312, - "y": 312 + "y": 552 } }, "4a48": { @@ -4582,48 +4278,173 @@ "x": 0, "y": 12 } - } - }, - "transitions": { - "9955": { - "workflow_end": { - "state": "success", - "type": "standard" - }, - "c0e5": { - "type": "standard", - "state": "error" - } - }, - "workflow_start": { - "a6ad": { - "state": "success", - "type": "standard" - } }, - "workflow_end": {}, - "a6ad": { - "c8d5": { - "state": "success", - "type": "standard" + "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 } }, - "c8d5": { - "eaf5": { - "state": "success", - "type": "standard" + "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 } }, - "9a50": { - "workflow_end": { - "state": "success", - "type": "standard" + "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 } }, - "4a48": { - "9a50": { - "state": "success", - "type": "standard" + "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": { @@ -4647,6 +4468,34 @@ "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": { @@ -4715,7 +4564,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.147Z", + "last_updated": "2025-07-11T22:37:21.591Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { @@ -5185,7 +5034,7 @@ "provenance": "CloudAAA", "username": "trinh.do@itential.com" }, - "lastUpdated": "2025-07-11T02:53:49.147Z", + "lastUpdated": "2025-07-11T22:37:21.592Z", "lastUpdatedBy": { "_id": "67d9adba294dc79a78c56bec", "provenance": "CloudAAA", @@ -5204,7 +5053,7 @@ "id": "684c2a9f1c63275a329f4132", "created": "2025-06-13T13:41:51.845Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.148Z", + "lastUpdated": "2025-07-11T22:37:21.595Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -5404,7 +5253,7 @@ "id": "684c5eb91c63275a329f4133", "created": "2025-06-13T17:24:09.733Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.149Z", + "lastUpdated": "2025-07-11T22:37:21.599Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -5627,7 +5476,7 @@ "id": "684c5f101c63275a329f4134", "created": "2025-06-13T17:25:36.169Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.149Z", + "lastUpdated": "2025-07-11T22:37:21.598Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -6054,7 +5903,7 @@ "groups": [], "nodeLocation": { "x": -324, - "y": -396 + "y": -444 } }, "0d66": { @@ -6292,7 +6141,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.150Z", + "last_updated": "2025-07-11T22:37:21.600Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -6316,7 +6165,7 @@ "id": "686c3252d94942293cb0ffbe", "created": "2025-07-07T20:47:14.981Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.151Z", + "lastUpdated": "2025-07-11T22:37:21.608Z", "lastUpdatedBy": "trinh.do@itential.com", "name": "Update Adom with new device and description", "description": "", @@ -7510,7 +7359,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.155Z", + "last_updated": "2025-07-11T22:37:21.609Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -7534,7 +7383,7 @@ "id": "686dfbf6d4b5ebcaf8858752", "created": "2025-07-09T05:19:50.735Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.156Z", + "lastUpdated": "2025-07-11T22:37:21.610Z", "lastUpdatedBy": "trinh.do@itential.com", "name": "Create Policy Package", "description": "", @@ -7673,7 +7522,7 @@ "id": "686ee3ea67771b9bcfeba459", "created": "2025-07-09T21:49:30.486Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.157Z", + "lastUpdated": "2025-07-11T22:37:21.612Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -8458,7 +8307,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.158Z", + "last_updated": "2025-07-11T22:37:21.613Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -9126,7 +8975,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.159Z", + "last_updated": "2025-07-11T22:37:21.615Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -9663,7 +9512,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.160Z", + "last_updated": "2025-07-11T22:37:21.614Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -9687,7 +9536,7 @@ "id": "68705c885e764b5fa6470d49", "created": "2025-07-11T00:36:24.394Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.161Z", + "lastUpdated": "2025-07-11T22:37:21.617Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -9903,7 +9752,7 @@ "id": "68705d5f5e764b5fa6470d4a", "created": "2025-07-11T00:39:59.234Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.162Z", + "lastUpdated": "2025-07-11T22:37:21.618Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -9950,167 +9799,6 @@ "name": "Create Adom" } }, - { - "iid": 84, - "type": "jsonForm", - "reference": "68705dff5e764b5fa6470d4b", - "folder": "/Create Objects (Adom, Policy Pkg, Policy)", - "document": { - "id": "68705dff5e764b5fa6470d4b", - "created": "2025-07-11T00:42:39.520Z", - "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.163Z", - "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": "Create Firewall Policy" - } - }, { "iid": 85, "type": "jsonForm", @@ -10120,7 +9808,7 @@ "id": "68705ea45e764b5fa6470d4c", "created": "2025-07-11T00:45:24.202Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.164Z", + "lastUpdated": "2025-07-11T22:37:21.620Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -10281,7 +9969,7 @@ "id": "68705ef55e764b5fa6470d4d", "created": "2025-07-11T00:46:45.816Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.165Z", + "lastUpdated": "2025-07-11T22:37:21.621Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -10420,7 +10108,7 @@ "id": "68705f115e764b5fa6470d4e", "created": "2025-07-11T00:47:13.392Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.167Z", + "lastUpdated": "2025-07-11T22:37:21.684Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -11087,7 +10775,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.168Z", + "last_updated": "2025-07-11T22:37:21.622Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -11633,7 +11321,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.169Z", + "last_updated": "2025-07-11T22:37:21.685Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -12268,7 +11956,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T02:53:49.172Z", + "last_updated": "2025-07-11T22:37:21.687Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -12292,7 +11980,7 @@ "id": "6870600d5e764b5fa6470d4f", "created": "2025-07-11T00:51:25.866Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.225Z", + "lastUpdated": "2025-07-11T22:37:21.623Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -12453,7 +12141,7 @@ "id": "6870600d5e764b5fa6470d50", "created": "2025-07-11T00:51:25.866Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T02:53:49.227Z", + "lastUpdated": "2025-07-11T22:37:21.626Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -12490,153 +12178,1033 @@ "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": [] + { + "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-11T22:37:21.624Z", + "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-11T22:37:21.682Z", + "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", + "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" }, - "policyPackageName": { - "type": "string", - "title": "Policy Package", - "_id": "/properties/policyPackageName", - "description": "" - } - } - }, - "uiSchema": { - "adomName": { - "ui:placeholder": "Select an item" + "context": "#" }, - "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" - } - } + { + "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 }, - "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-11T02:53:49.228Z", - "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": "" - } - } + "created": "2025-07-11T21:42:02.066Z", + "createdBy": { + "_id": "67d9adba294dc79a78c56bec", + "provenance": "CloudAAA", + "username": "trinh.do@itential.com" }, - "uiSchema": { - "adomName": { - "ui:placeholder": "Enter text" - } + "lastUpdated": "2025-07-11T22:37:21.683Z", + "lastUpdatedBy": { + "_id": "67d9adba294dc79a78c56bec", + "provenance": "CloudAAA", + "username": "trinh.do@itential.com" }, - "bindingSchema": {}, - "validationSchema": {}, - "version": "2020.1", - "name": "Check Adom" + "version": "4.3.6-2023.2.12", + "tags": [] } } ], @@ -12672,19 +13240,19 @@ "nodeType": "component" }, { - "iid": 54, + "iid": 57, "nodeType": "component" }, { - "iid": 84, + "iid": 83, "nodeType": "component" }, { - "iid": 57, + "iid": 94, "nodeType": "component" }, { - "iid": 83, + "iid": 95, "nodeType": "component" } ] @@ -12826,13 +13394,19 @@ "provenance": "local_aaa", "username": "admin@pronghorn" }, - "lastUpdated": "2025-07-11T02:53:49.111Z", + "lastUpdated": "2025-07-11T22:37:21.535Z", "lastUpdatedBy": { "_id": "67d9adba294dc79a78c56bec", "provenance": "CloudAAA", "username": "trinh.do@itential.com" }, "versionHistory": [ + { + "versionNumber": 6, + "commitMessage": "update to latest", + "author": "trinh", + "branchName": "main" + }, { "versionNumber": 5, "commitMessage": "Complete all tasks", From ec0d5a488aa5ce1871b21438d416d5d9e4ee3f3b Mon Sep 17 00:00:00 2001 From: trinhdo Date: Tue, 15 Jul 2025 11:03:10 -0400 Subject: [PATCH 09/15] Create README.md Added README file --- FortiManager/README.md | 357 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 357 insertions(+) create mode 100644 FortiManager/README.md diff --git a/FortiManager/README.md b/FortiManager/README.md new file mode 100644 index 0000000..c7ccfc7 --- /dev/null +++ b/FortiManager/README.md @@ -0,0 +1,357 @@ + +# FortiManager + + + + +## Table of Contents + + + + + + +## Overview + + + +## Project Contents +The tree below outlines the structure of the project: +``` +┐ +└── FortiManager + ├── ForTesting + │ ├── fm_testFortiManager (Workflow) + │ ├── fm_testFortiManager2 (Workflow) + │ └── lhTest_FortiManager (Workflow) + ├── Delete Objects + │ ├── Delete Firewall Policy (Workflow) + │ ├── Delete Policy Package (Workflow) + │ ├── Delete Adom (Workflow) + │ ├── FortiManager Delete Policy Package (Json Form) + │ ├── FortiManager Delete FW Policy (Json Form) + │ └── FortiManager 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
fm_testFortiManager
fm_testFortiManager2
lhTest_FortiManager
Delete Firewall Policy
Delete Policy Package
Delete Adom
Update Firewall Policy
Update Adom
Update Policy Package
Create Adom
Create Policy Package
Create Firewall Policy
Read Policy Package
Read Firewall Policy
Read ADOM
Check Policy Package's existence
Check ADOM's existence
Check Firewall Policy's existence
+ +### Transformations + + + + + + + + + + + + + + + + + +
NameDescription
Create Firewall Policy Payload
Standard Output
+ +### Templates + + + + + + + + + + +
NameTypeDescription
+ + + + + +### JSON Forms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
FortiManager Delete Policy Package
FortiManager Delete FW Policy
FortiManager 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
+ +## Gateway Assets + + + + + + + + + + + + + +
NameDescription
None
From 1ff8469137dc4d78f1ebcfbd4c9778574ab06c43 Mon Sep 17 00:00:00 2001 From: trinhdo Date: Tue, 15 Jul 2025 11:03:35 -0400 Subject: [PATCH 10/15] Add files via upload --- FortiManager/powered-by-itential (5).png | Bin 0 -> 20839 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FortiManager/powered-by-itential (5).png diff --git a/FortiManager/powered-by-itential (5).png b/FortiManager/powered-by-itential (5).png new file mode 100644 index 0000000000000000000000000000000000000000..12ad348691fcfd2d8539e9745678887419e3f4ad GIT binary patch literal 20839 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 Date: Tue, 15 Jul 2025 11:04:04 -0400 Subject: [PATCH 11/15] Rename powered-by-itential (5).png to powered-by-itential.png --- ...-by-itential (5).png => powered-by-itential.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename FortiManager/{powered-by-itential (5).png => powered-by-itential.png} (100%) diff --git a/FortiManager/powered-by-itential (5).png b/FortiManager/powered-by-itential.png similarity index 100% rename from FortiManager/powered-by-itential (5).png rename to FortiManager/powered-by-itential.png From cbf2b5233de878accef7a1235833ac5622e9c563 Mon Sep 17 00:00:00 2001 From: trinhdo Date: Tue, 15 Jul 2025 12:00:00 -0400 Subject: [PATCH 12/15] Update README.md --- FortiManager/README.md | 151 +++++++++++------------------------------ 1 file changed, 38 insertions(+), 113 deletions(-) diff --git a/FortiManager/README.md b/FortiManager/README.md index c7ccfc7..1809e81 100644 --- a/FortiManager/README.md +++ b/FortiManager/README.md @@ -20,17 +20,13 @@ The tree below outlines the structure of the project: ``` ┐ └── FortiManager - ├── ForTesting - │ ├── fm_testFortiManager (Workflow) - │ ├── fm_testFortiManager2 (Workflow) - │ └── lhTest_FortiManager (Workflow) ├── Delete Objects │ ├── Delete Firewall Policy (Workflow) │ ├── Delete Policy Package (Workflow) │ ├── Delete Adom (Workflow) - │ ├── FortiManager Delete Policy Package (Json Form) - │ ├── FortiManager Delete FW Policy (Json Form) - │ └── FortiManager Delete Adom (Json Form) + │ ├── Delete Policy Package (Json Form) + │ ├── Delete FW Policy (Json Form) + │ └── Delete Adom (Json Form) ├── Update Objects │ ├── Update Firewall Policy (Workflow) │ ├── Update Adom (Workflow) @@ -135,76 +131,64 @@ The table below outlines all the adapter and integration dependencies of this pr - fm_testFortiManager - - - - fm_testFortiManager2 - - - - lhTest_FortiManager - - - - Delete Firewall Policy - + Create Adom + This workflow creates a new Adom using the provided Adom name as input. - Delete Policy Package - + Create Policy Package + This workflow creates a new Policy Package using the provided Policy Package name and Adom name as inputs. - Delete Adom - + Create Firewall Policy + This workflow creates a new Firewall Policy using the provided Firewall Policy Object, Policy Package name and Adom name as inputs. - Update Firewall Policy - + Read ADOM + This workflow retrieves the full data object of the specified Adom. Input: Adom name. - Update Adom - + 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. - Update Policy Package - + 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. - Create Adom - + Check ADOM's existence + This workflow checks whether the specified Adom exists. It returns true if found, otherwise false. Input: Adom name. - Create Policy Package - + 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. - Create Firewall Policy - + 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. - Read Policy Package - + 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. - Read Firewall Policy - + 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. - Read ADOM - + Update Firewall Policy + This workflow updates the specified firewall policy's comment using provided inputs: Adom name, Policy Package name, Firewall Policy, and Comment. - Check Policy Package's existence - + Delete Adom + This workflow deletes a specific Adom by taking one required parameter: the Adom name. - Check ADOM's existence - + Delete Policy Package + This workflow deletes a specific policy package by taking two required parameters: the Adom name, policy package name. - Check Firewall Policy's existence - + 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. @@ -220,58 +204,15 @@ The table below outlines all the adapter and integration dependencies of this pr Create Firewall Policy Payload - + This JST prepares the request payload required to create a new firewall policy. Standard Output - - - - - -### Templates - - - - - - + - -
NameTypeDescription 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 @@ -282,15 +223,15 @@ No analytic templates were found in this project. Uncomment and fill in this sec - + - + - + @@ -339,19 +280,3 @@ No analytic templates were found in this project. Uncomment and fill in this sec
FortiManager Delete Policy PackageDelete Policy Package
FortiManager Delete FW PolicyDelete FW Policy
FortiManager Delete AdomDelete Adom
- -## Gateway Assets - - - - - - - - - - - - - -
NameDescription
None
From 9808762ef83b27f96fd12bbbd09622682f718d7a Mon Sep 17 00:00:00 2001 From: trinhdo Date: Tue, 15 Jul 2025 12:01:15 -0400 Subject: [PATCH 13/15] Update fortimanager.project.json Clean up --- .../Projects/fortimanager.project.json | 957 +----------------- 1 file changed, 41 insertions(+), 916 deletions(-) diff --git a/FortiManager/Projects/fortimanager.project.json b/FortiManager/Projects/fortimanager.project.json index f9ca5da..e025656 100644 --- a/FortiManager/Projects/fortimanager.project.json +++ b/FortiManager/Projects/fortimanager.project.json @@ -3,869 +3,6 @@ "name": "FortiManager", "description": "", "components": [ - { - "iid": 38, - "reference": "0595c6a2-66c7-421c-8833-d99858c7e814", - "type": "workflow", - "folder": "/ForTesting", - "document": { - "name": "fm_testFortiManager", - "tasks": { - "workflow_start": { - "name": "workflow_start", - "groups": [], - "x": 0, - "y": 0.5, - "nodeLocation": { - "x": 0, - "y": -684 - } - }, - "workflow_end": { - "name": "workflow_end", - "groups": [], - "x": 1, - "y": 0.5, - "nodeLocation": { - "x": 0, - "y": -300 - } - }, - "cf92": { - "name": "postJsonrpc", - "canvasName": "postJsonrpc", - "summary": "List policy packages", - "description": "This is a generic json rpc api request", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "body": { - "method": "get", - "params": [ - { - "url": "/pm/pkg/adom/root" - } - ] - }, - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 0, - "y": -552 - } - } - }, - "transitions": { - "workflow_start": { - "cf92": { - "state": "success", - "type": "standard" - } - }, - "workflow_end": {}, - "cf92": { - "workflow_end": { - "state": "success", - "type": "standard" - } - } - }, - "inputSchema": { - "type": "object", - "properties": {} - }, - "outputSchema": { - "type": "object", - "properties": { - "_id": { - "type": "string", - "pattern": "^[0-9a-f]{24}$" - }, - "initiator": { - "type": "string" - } - } - }, - "type": "automation", - "font_size": 12, - "last_updated": "2025-07-11T22:37:21.570Z", - "last_updated_by": { - "provenance": "CloudAAA", - "username": "trinh.do@itential.com", - "firstname": "trinh", - "inactive": false - }, - "lastUpdatedVersion": "4.69.3-2023.2.211", - "created": "2025-04-25T21:21:59.418Z", - "created_by": { - "provenance": "local_aaa", - "username": "admin@pronghorn", - "firstname": "admin", - "inactive": true - }, - "createdVersion": "5.55.2-2023.2.21", - "canvasVersion": 3, - "createdBy": "67d9adba294dc79a78c56bec", - "tags": [], - "groups": [], - "migrationVersion": 5 - } - }, - { - "iid": 39, - "reference": "26f50885-c3dd-4ac9-87b2-f5521085460b", - "type": "workflow", - "folder": "/ForTesting", - "document": { - "name": "fm_testFortiManager2", - "tasks": { - "4045": { - "name": "genericAdapterRequest", - "canvasName": "genericAdapterRequest", - "summary": "Makes the requested generic call", - "description": "Makes the requested generic call", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "uriPath": "/jsonrpc", - "restMethod": "POST", - "queryData": "", - "requestBody": { - "method": "get", - "params": [ - { - "url": "/pm/config/adom/adom/pkg/{{policy-package}}/firewall/policy", - "fields": [ - "obj seq", - "status", - "policyid", - "srcintf", - "dstintf", - "srcaddr", - "dstaddr", - "action", - "schedule", - "service", - "users", - "logtraffic", - "nat", - "name", - "comments", - "extra info" - ] - } - ], - "session": "{{fmg-session}}", - "verbose": 1, - "id": 1 - }, - "addlHeaders": "", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 0, - "y": -138 - } - }, - "workflow_start": { - "name": "workflow_start", - "groups": [], - "x": 0, - "y": 0.5, - "nodeLocation": { - "x": 0, - "y": -684 - } - }, - "workflow_end": { - "name": "workflow_end", - "groups": [], - "x": 1, - "y": 0.5, - "nodeLocation": { - "x": 0, - "y": 12 - } - }, - "a309": { - "name": "getFirewallPolicyPackage", - "canvasName": "getFirewallPolicyPackage", - "summary": "Get FW Policy Packages", - "description": "call to get firewall policy package", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "adomid": "root", - "packid": "5964", - "policy": "", - "attr": "", - "fields": "", - "filter": "", - "option": "", - "range": "", - "sortings": "", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 0, - "y": -288 - } - }, - "cf92": { - "name": "postJsonrpc", - "canvasName": "postJsonrpc", - "summary": "List policy packages", - "description": "This is a generic json rpc api request", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "body": { - "method": "get", - "params": [ - { - "url": "/pm/pkg" - } - ], - "verbose": 1, - "id": 1 - }, - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 0, - "y": -552 - } - }, - "c5c6": { - "name": "postJsonrpc", - "canvasName": "postJsonrpc", - "summary": "Get the \"default\" policy package", - "description": "This is a generic json rpc api request", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "body": { - "method": "get", - "params": [ - { - "url": "/pm/pkg/adom/default" - } - ], - "verbose": 1, - "id": 1 - }, - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 0, - "y": -420 - } - } - }, - "transitions": { - "4045": { - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "workflow_start": { - "cf92": { - "state": "success", - "type": "standard" - } - }, - "workflow_end": {}, - "a309": { - "4045": { - "state": "success", - "type": "standard" - } - }, - "cf92": { - "c5c6": { - "state": "success", - "type": "standard" - } - }, - "c5c6": { - "a309": { - "state": "success", - "type": "standard" - } - } - }, - "inputSchema": { - "type": "object", - "properties": {} - }, - "outputSchema": { - "type": "object", - "properties": { - "_id": { - "type": "string", - "pattern": "^[0-9a-f]{24}$" - }, - "initiator": { - "type": "string" - } - } - }, - "type": "automation", - "font_size": 12, - "lastUpdatedVersion": "4.69.3-2023.2.211", - "created_by": { - "provenance": "local_aaa", - "username": "admin@pronghorn", - "firstname": "admin", - "inactive": true - }, - "createdVersion": "5.55.2-2023.2.21", - "last_updated": "2025-07-11T22:37:21.574Z", - "last_updated_by": { - "provenance": "CloudAAA", - "username": "trinh.do@itential.com", - "firstname": "trinh", - "inactive": false - }, - "created": "2025-05-06T13:59:07.934Z", - "canvasVersion": 3, - "createdBy": "67d9adba294dc79a78c56bec", - "tags": [], - "groups": [], - "migrationVersion": 5 - } - }, - { - "iid": 40, - "reference": "8e33a0dd-8192-4643-8a48-f73a17a5fd45", - "type": "workflow", - "folder": "/ForTesting", - "document": { - "name": "lhTest_FortiManager", - "tasks": { - "6437": { - "name": "getScripts", - "canvasName": "getScripts", - "summary": "call to get Scripts", - "description": "call to get Scripts", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "script": "", - "expandMember": "", - "fields": "", - "filter": "", - "loadSub": "", - "option": "", - "range": "", - "sortings": "", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -12, - "y": -60 - } - }, - "workflow_start": { - "name": "workflow_start", - "groups": [], - "nodeLocation": { - "x": 96, - "y": -432 - }, - "x": 0, - "y": 0.5 - }, - "workflow_end": { - "name": "workflow_end", - "groups": [], - "nodeLocation": { - "x": 96, - "y": 204 - }, - "x": 1, - "y": 0.5 - }, - "0385": { - "name": "getFirewallPolicyPackage", - "canvasName": "getFirewallPolicyPackage", - "summary": "call to get firewall policy package", - "description": "call to get firewall policy package", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "adomid": "root", - "packid": "lhTest_policy-package", - "policy": "", - "attr": "", - "fields": "", - "filter": "", - "option": "", - "range": "", - "sortings": "", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -300, - "y": -60 - } - }, - "88ab": { - "name": "getDevices", - "canvasName": "getDevices", - "summary": "call to get Devices", - "description": "call to get Devices", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "device": "", - "expandMember": "", - "fields": "", - "filter": "", - "loadSub": "", - "metaFields": "", - "option": "", - "range": "", - "sortings": "", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 276, - "y": -60 - } - }, - "86b5": { - "name": "getDeviceInterfaces", - "canvasName": "getDeviceInterfaces", - "summary": "call to get device interfaces", - "description": "call to get device interfaces", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "device": "FGVM02TM24012094", - "vdomid": "", - "iface": "", - "attr": "", - "fields": "", - "filter": "", - "option": "", - "range": "", - "sortings": "", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 564, - "y": -60 - } - }, - "e974": { - "name": "getAdoms", - "canvasName": "getAdoms", - "summary": "call to get ADOMs", - "description": "call to get ADOMs", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "adom": "", - "expandMember": "", - "fields": "", - "filter": "", - "loadSub": "", - "metaFields": "", - "option": "", - "range": "", - "sortings": "", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 504, - "y": -264 - } - }, - "12c4": { - "name": "getAdomScripts", - "canvasName": "getAdomScripts", - "summary": "call to get ADOM Scripts", - "description": "call to get ADOM Scripts", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "adom": "FortiFirewall", - "script": "", - "expandMember": "", - "fields": "", - "filter": "", - "loadSub": "", - "option": "", - "range": "", - "sortings": "", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -312, - "y": -276 - } - }, - "10c7": { - "name": "getFirewallAddresses", - "canvasName": "getFirewallAddresses", - "summary": "call to get firewall addresses", - "description": "call to get firewall addresses", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "adomid": "", - "address": "", - "attr": "", - "fields": "", - "filter": "", - "option": "", - "range": "", - "sortings": "", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 120, - "y": -228 - } - }, - "00b3": { - "name": "getAdomDevices", - "canvasName": "getAdomDevices", - "summary": "call to get ADOM Devices", - "description": "call to get ADOM Devices", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "adom": "FortiFirewall", - "device": "", - "expandMember": "", - "fields": "", - "filter": "", - "loadSub": "", - "metaFields": "", - "option": "", - "range": "", - "sortings": "", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -312, - "y": 120 - } - }, - "a646": { - "name": "iapExpandedGenericAdapterRequest", - "canvasName": "iapExpandedGenericAdapterRequest", - "summary": "Makes the requested generic call with additional options", - "description": "Makes the requested generic call with additional options via metadata", - "location": "Adapter", - "locationType": "FortiManager", - "app": "FortiManager", - "type": "automatic", - "displayName": "FortiManager", - "variables": { - "incoming": { - "metadata": "", - "uriPath": "/", - "restMethod": "POST", - "pathVars": "", - "queryData": "", - "requestBody": { - "method": "get", - "params": [ - { - "url": "/pm/pkg/adom/FortiFirewall" - } - ], - "verbose": 1, - "id": 1 - }, - "addlHeaders": "", - "adapter_id": "FortiManager" - }, - "outgoing": { - "result": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 516, - "y": 132 - } - } - }, - "transitions": { - "6437": { - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "workflow_start": { - "6437": { - "state": "success", - "type": "standard" - }, - "0385": { - "state": "success", - "type": "standard" - }, - "88ab": { - "state": "success", - "type": "standard" - }, - "86b5": { - "state": "success", - "type": "standard" - }, - "e974": { - "state": "success", - "type": "standard" - }, - "12c4": { - "state": "success", - "type": "standard" - }, - "10c7": { - "state": "success", - "type": "standard" - }, - "00b3": { - "state": "success", - "type": "standard" - }, - "a646": { - "state": "success", - "type": "standard" - } - }, - "workflow_end": {}, - "0385": { - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "88ab": { - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "86b5": { - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "e974": { - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "12c4": { - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "10c7": { - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "00b3": { - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "a646": { - "workflow_end": { - "state": "success", - "type": "standard" - } - } - }, - "inputSchema": { - "type": "object", - "properties": {} - }, - "outputSchema": { - "type": "object", - "properties": { - "_id": { - "type": "string", - "pattern": "^[0-9a-f]{24}$" - }, - "initiator": { - "type": "string" - } - } - }, - "type": "automation", - "font_size": 12, - "errorHandler": null, - "preAutomationTime": 0, - "sla": 0, - "lastUpdatedVersion": "4.69.3-2023.2.211", - "created_by": { - "provenance": "local_aaa", - "username": "admin@pronghorn", - "firstname": "admin", - "inactive": true - }, - "createdVersion": "5.55.2-2023.2.21", - "last_updated": "2025-07-11T22:37:21.575Z", - "last_updated_by": { - "provenance": "CloudAAA", - "username": "trinh.do@itential.com", - "firstname": "trinh", - "inactive": false - }, - "created": "2025-05-08T07:43:22.575Z", - "canvasVersion": 3, - "createdBy": "67d9adba294dc79a78c56bec", - "tags": [], - "groups": [], - "migrationVersion": 5 - } - }, { "iid": 50, "reference": "45d51b9b-b7a2-4c5b-a0a0-3c5c81467ec8", @@ -1538,7 +675,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.575Z", + "last_updated": "2025-07-15T15:47:49.233Z", "last_updated_by": { "provenance": "CloudAAA", "username": "trinh.do@itential.com", @@ -2051,7 +1188,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.577Z", + "last_updated": "2025-07-15T15:47:49.235Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { @@ -2538,7 +1675,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.587Z", + "last_updated": "2025-07-15T15:47:49.238Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { @@ -3424,7 +2561,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.589Z", + "last_updated": "2025-07-15T15:47:49.239Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { @@ -3980,7 +3117,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.590Z", + "last_updated": "2025-07-15T15:47:49.240Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { @@ -4564,7 +3701,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.591Z", + "last_updated": "2025-07-15T15:47:49.240Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "last_updated_by": { @@ -5034,7 +4171,7 @@ "provenance": "CloudAAA", "username": "trinh.do@itential.com" }, - "lastUpdated": "2025-07-11T22:37:21.592Z", + "lastUpdated": "2025-07-15T15:47:49.241Z", "lastUpdatedBy": { "_id": "67d9adba294dc79a78c56bec", "provenance": "CloudAAA", @@ -5053,7 +4190,7 @@ "id": "684c2a9f1c63275a329f4132", "created": "2025-06-13T13:41:51.845Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.595Z", + "lastUpdated": "2025-07-15T15:48:29.734Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -5241,7 +4378,7 @@ }, "validationSchema": {}, "version": "2020.1", - "name": "FortiManager Delete Policy Package" + "name": "Delete Policy Package" } }, { @@ -5253,7 +4390,7 @@ "id": "684c5eb91c63275a329f4133", "created": "2025-06-13T17:24:09.733Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.599Z", + "lastUpdated": "2025-07-15T15:48:23.453Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -5464,7 +4601,7 @@ }, "validationSchema": {}, "version": "2020.1", - "name": "FortiManager Delete FW Policy" + "name": "Delete FW Policy" } }, { @@ -5476,7 +4613,7 @@ "id": "684c5f101c63275a329f4134", "created": "2025-06-13T17:25:36.169Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.598Z", + "lastUpdated": "2025-07-15T15:48:36.591Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -5584,7 +4721,7 @@ }, "validationSchema": {}, "version": "2020.1", - "name": "FortiManager Delete Adom" + "name": "Delete Adom" } }, { @@ -6141,7 +5278,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.600Z", + "last_updated": "2025-07-15T15:47:49.245Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -6165,7 +5302,7 @@ "id": "686c3252d94942293cb0ffbe", "created": "2025-07-07T20:47:14.981Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.608Z", + "lastUpdated": "2025-07-15T15:47:49.244Z", "lastUpdatedBy": "trinh.do@itential.com", "name": "Update Adom with new device and description", "description": "", @@ -7359,7 +6496,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.609Z", + "last_updated": "2025-07-15T15:47:49.245Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -7383,7 +6520,7 @@ "id": "686dfbf6d4b5ebcaf8858752", "created": "2025-07-09T05:19:50.735Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.610Z", + "lastUpdated": "2025-07-15T15:47:49.246Z", "lastUpdatedBy": "trinh.do@itential.com", "name": "Create Policy Package", "description": "", @@ -7522,7 +6659,7 @@ "id": "686ee3ea67771b9bcfeba459", "created": "2025-07-09T21:49:30.486Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.612Z", + "lastUpdated": "2025-07-15T15:47:49.246Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -8307,7 +7444,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.613Z", + "last_updated": "2025-07-15T15:47:49.247Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -8975,7 +8112,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.615Z", + "last_updated": "2025-07-15T15:47:49.250Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -9512,7 +8649,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.614Z", + "last_updated": "2025-07-15T15:47:49.251Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -9536,7 +8673,7 @@ "id": "68705c885e764b5fa6470d49", "created": "2025-07-11T00:36:24.394Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.617Z", + "lastUpdated": "2025-07-15T15:47:49.251Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -9752,7 +8889,7 @@ "id": "68705d5f5e764b5fa6470d4a", "created": "2025-07-11T00:39:59.234Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.618Z", + "lastUpdated": "2025-07-15T15:47:49.252Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -9808,7 +8945,7 @@ "id": "68705ea45e764b5fa6470d4c", "created": "2025-07-11T00:45:24.202Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.620Z", + "lastUpdated": "2025-07-15T15:47:49.253Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -9969,7 +9106,7 @@ "id": "68705ef55e764b5fa6470d4d", "created": "2025-07-11T00:46:45.816Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.621Z", + "lastUpdated": "2025-07-15T15:47:49.253Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -10108,7 +9245,7 @@ "id": "68705f115e764b5fa6470d4e", "created": "2025-07-11T00:47:13.392Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.684Z", + "lastUpdated": "2025-07-15T15:47:49.254Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -10775,7 +9912,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.622Z", + "last_updated": "2025-07-15T15:47:49.254Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -11321,7 +10458,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.685Z", + "last_updated": "2025-07-15T15:47:49.255Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -11956,7 +11093,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.687Z", + "last_updated": "2025-07-15T15:47:49.256Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -11980,7 +11117,7 @@ "id": "6870600d5e764b5fa6470d4f", "created": "2025-07-11T00:51:25.866Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.623Z", + "lastUpdated": "2025-07-15T15:47:49.257Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -12141,7 +11278,7 @@ "id": "6870600d5e764b5fa6470d50", "created": "2025-07-11T00:51:25.866Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.626Z", + "lastUpdated": "2025-07-15T15:47:49.281Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -12280,7 +11417,7 @@ "id": "6870600d5e764b5fa6470d51", "created": "2025-07-11T00:51:25.866Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-11T22:37:21.624Z", + "lastUpdated": "2025-07-15T15:47:49.282Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -12809,7 +11946,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-11T22:37:21.682Z", + "last_updated": "2025-07-15T15:47:49.283Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -13197,7 +12334,7 @@ "provenance": "CloudAAA", "username": "trinh.do@itential.com" }, - "lastUpdated": "2025-07-11T22:37:21.683Z", + "lastUpdated": "2025-07-15T15:47:49.284Z", "lastUpdatedBy": { "_id": "67d9adba294dc79a78c56bec", "provenance": "CloudAAA", @@ -13209,24 +12346,6 @@ } ], "folders": [ - { - "nodeType": "folder", - "name": "ForTesting", - "children": [ - { - "iid": 40, - "nodeType": "component" - }, - { - "iid": 38, - "nodeType": "component" - }, - { - "iid": 39, - "nodeType": "component" - } - ] - }, { "nodeType": "folder", "name": "Create Objects (Adom, Policy Pkg, Policy)", @@ -13394,13 +12513,19 @@ "provenance": "local_aaa", "username": "admin@pronghorn" }, - "lastUpdated": "2025-07-11T22:37:21.535Z", + "lastUpdated": "2025-07-15T15:48:36.600Z", "lastUpdatedBy": { "_id": "67d9adba294dc79a78c56bec", "provenance": "CloudAAA", "username": "trinh.do@itential.com" }, "versionHistory": [ + { + "versionNumber": 7, + "commitMessage": "latest", + "author": "trinh", + "branchName": "main" + }, { "versionNumber": 6, "commitMessage": "update to latest", From dc97cafb99fac1ffb0819d03862beb61ba305b0a Mon Sep 17 00:00:00 2001 From: trinhdo Date: Wed, 16 Jul 2025 10:37:53 -0400 Subject: [PATCH 14/15] Delete FortiManager/Projects/.gitkeep --- FortiManager/Projects/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FortiManager/Projects/.gitkeep diff --git a/FortiManager/Projects/.gitkeep b/FortiManager/Projects/.gitkeep deleted file mode 100644 index e69de29..0000000 From 45969198a249f2979f5160223753dd0416f73fd7 Mon Sep 17 00:00:00 2001 From: trinhdo Date: Thu, 24 Jul 2025 12:27:22 -0400 Subject: [PATCH 15/15] Add logo to the project --- .../Projects/fortimanager.project.json | 87 ++++++++++++------- 1 file changed, 54 insertions(+), 33 deletions(-) diff --git a/FortiManager/Projects/fortimanager.project.json b/FortiManager/Projects/fortimanager.project.json index e025656..e3a8a7b 100644 --- a/FortiManager/Projects/fortimanager.project.json +++ b/FortiManager/Projects/fortimanager.project.json @@ -675,7 +675,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.233Z", + "last_updated": "2025-07-15T15:48:57.513Z", "last_updated_by": { "provenance": "CloudAAA", "username": "trinh.do@itential.com", @@ -693,6 +693,7 @@ "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, "createdBy": "67d9adba294dc79a78c56bec", + "uuid": "242663ea-73ae-4f86-acde-de98428b9df5", "tags": [], "groups": [], "migrationVersion": 5 @@ -1188,7 +1189,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.235Z", + "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": { @@ -1208,6 +1209,7 @@ }, "canvasVersion": 3, "createdBy": "67d9adba294dc79a78c56bec", + "uuid": "cd790453-89c0-4eb1-a79f-fe476e4e718b", "tags": [], "groups": [], "migrationVersion": 5 @@ -1675,7 +1677,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.238Z", + "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": { @@ -1695,6 +1697,7 @@ }, "canvasVersion": 3, "createdBy": "67d9adba294dc79a78c56bec", + "uuid": "4868de17-8156-4556-8513-3f0aa1c11fd1", "tags": [], "groups": [], "migrationVersion": 5 @@ -2561,7 +2564,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.239Z", + "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": { @@ -2581,6 +2584,7 @@ }, "canvasVersion": 3, "createdBy": "67d9adba294dc79a78c56bec", + "uuid": "107e12aa-91ae-4275-b356-b955524c4501", "tags": [], "groups": [], "migrationVersion": 5 @@ -3117,7 +3121,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.240Z", + "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": { @@ -3137,6 +3141,7 @@ }, "canvasVersion": 3, "createdBy": "67d9adba294dc79a78c56bec", + "uuid": "4fd06bae-16ce-4193-83d3-5f5c5e1b1bc1", "tags": [], "groups": [], "migrationVersion": 5 @@ -3701,7 +3706,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.240Z", + "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": { @@ -3721,6 +3726,7 @@ }, "canvasVersion": 3, "createdBy": "67d9adba294dc79a78c56bec", + "uuid": "afe79379-8104-4b1d-94ee-c6836761c374", "tags": [], "groups": [], "migrationVersion": 5 @@ -4171,7 +4177,7 @@ "provenance": "CloudAAA", "username": "trinh.do@itential.com" }, - "lastUpdated": "2025-07-15T15:47:49.241Z", + "lastUpdated": "2025-07-15T15:48:57.517Z", "lastUpdatedBy": { "_id": "67d9adba294dc79a78c56bec", "provenance": "CloudAAA", @@ -4190,7 +4196,7 @@ "id": "684c2a9f1c63275a329f4132", "created": "2025-06-13T13:41:51.845Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:48:29.734Z", + "lastUpdated": "2025-07-15T15:48:57.520Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -4390,7 +4396,7 @@ "id": "684c5eb91c63275a329f4133", "created": "2025-06-13T17:24:09.733Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:48:23.453Z", + "lastUpdated": "2025-07-15T15:48:57.521Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -4613,7 +4619,7 @@ "id": "684c5f101c63275a329f4134", "created": "2025-06-13T17:25:36.169Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:48:36.591Z", + "lastUpdated": "2025-07-15T15:48:57.521Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -5278,7 +5284,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.245Z", + "last_updated": "2025-07-15T15:48:57.522Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -5289,6 +5295,7 @@ "inactive": false }, "created": "1970-01-01T00:00:00.000Z", + "uuid": "4a545dab-cf3e-43a5-b089-74820507bcb2", "groups": [], "migrationVersion": 5 } @@ -5302,7 +5309,7 @@ "id": "686c3252d94942293cb0ffbe", "created": "2025-07-07T20:47:14.981Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:47:49.244Z", + "lastUpdated": "2025-07-15T15:48:57.522Z", "lastUpdatedBy": "trinh.do@itential.com", "name": "Update Adom with new device and description", "description": "", @@ -6496,7 +6503,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.245Z", + "last_updated": "2025-07-15T15:48:57.523Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -6507,6 +6514,7 @@ "inactive": false }, "created": "1970-01-01T00:00:00.000Z", + "uuid": "7c843e37-05b7-4fd0-b4f0-00dec6ca10e9", "groups": [], "migrationVersion": 5 } @@ -6520,7 +6528,7 @@ "id": "686dfbf6d4b5ebcaf8858752", "created": "2025-07-09T05:19:50.735Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:47:49.246Z", + "lastUpdated": "2025-07-15T15:48:57.524Z", "lastUpdatedBy": "trinh.do@itential.com", "name": "Create Policy Package", "description": "", @@ -6659,7 +6667,7 @@ "id": "686ee3ea67771b9bcfeba459", "created": "2025-07-09T21:49:30.486Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:47:49.246Z", + "lastUpdated": "2025-07-15T15:48:57.524Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -7444,7 +7452,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.247Z", + "last_updated": "2025-07-15T15:48:57.525Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -7455,6 +7463,7 @@ "inactive": false }, "created": "1970-01-01T00:00:00.000Z", + "uuid": "ba0d80d0-5ac4-4aae-9f9f-7a0520564a4e", "groups": [], "migrationVersion": 5 } @@ -8112,7 +8121,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.250Z", + "last_updated": "2025-07-15T15:48:57.525Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -8123,6 +8132,7 @@ "inactive": false }, "created": "1970-01-01T00:00:00.000Z", + "uuid": "a4c6f7f8-0338-4eb9-9b2d-29bc2f1feaf9", "groups": [], "migrationVersion": 5 } @@ -8649,7 +8659,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.251Z", + "last_updated": "2025-07-15T15:48:57.526Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -8660,6 +8670,7 @@ "inactive": false }, "created": "1970-01-01T00:00:00.000Z", + "uuid": "501c5d9f-e35d-4183-b091-53494460075d", "groups": [], "migrationVersion": 5 } @@ -8673,7 +8684,7 @@ "id": "68705c885e764b5fa6470d49", "created": "2025-07-11T00:36:24.394Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:47:49.251Z", + "lastUpdated": "2025-07-15T15:48:57.527Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -8889,7 +8900,7 @@ "id": "68705d5f5e764b5fa6470d4a", "created": "2025-07-11T00:39:59.234Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:47:49.252Z", + "lastUpdated": "2025-07-15T15:48:57.528Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -8945,7 +8956,7 @@ "id": "68705ea45e764b5fa6470d4c", "created": "2025-07-11T00:45:24.202Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:47:49.253Z", + "lastUpdated": "2025-07-15T15:48:57.529Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -9106,7 +9117,7 @@ "id": "68705ef55e764b5fa6470d4d", "created": "2025-07-11T00:46:45.816Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:47:49.253Z", + "lastUpdated": "2025-07-15T15:48:57.531Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -9245,7 +9256,7 @@ "id": "68705f115e764b5fa6470d4e", "created": "2025-07-11T00:47:13.392Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:47:49.254Z", + "lastUpdated": "2025-07-15T15:48:57.530Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -9912,7 +9923,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.254Z", + "last_updated": "2025-07-15T15:48:57.532Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -9923,6 +9934,7 @@ "inactive": false }, "created": "1970-01-01T00:00:00.000Z", + "uuid": "f83f9f45-64cd-431f-be97-95d46be43a49", "groups": [], "migrationVersion": 5 } @@ -10458,7 +10470,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.255Z", + "last_updated": "2025-07-15T15:48:57.534Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -10469,6 +10481,7 @@ "firstname": "trinh", "inactive": false }, + "uuid": "33ebc4db-f3d9-4774-b2ed-6a328125421a", "groups": [], "migrationVersion": 5 } @@ -11093,7 +11106,7 @@ "tags": [], "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.256Z", + "last_updated": "2025-07-15T15:48:57.535Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -11104,6 +11117,7 @@ "inactive": false }, "created": "1970-01-01T00:00:00.000Z", + "uuid": "cf3687b7-c688-4df5-86c7-156445d78a3e", "groups": [], "migrationVersion": 5 } @@ -11117,7 +11131,7 @@ "id": "6870600d5e764b5fa6470d4f", "created": "2025-07-11T00:51:25.866Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:47:49.257Z", + "lastUpdated": "2025-07-15T15:48:57.536Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -11278,7 +11292,7 @@ "id": "6870600d5e764b5fa6470d50", "created": "2025-07-11T00:51:25.866Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:47:49.281Z", + "lastUpdated": "2025-07-15T15:48:57.571Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -11417,7 +11431,7 @@ "id": "6870600d5e764b5fa6470d51", "created": "2025-07-11T00:51:25.866Z", "createdBy": "trinh.do@itential.com", - "lastUpdated": "2025-07-15T15:47:49.282Z", + "lastUpdated": "2025-07-15T15:48:57.572Z", "lastUpdatedBy": "trinh.do@itential.com", "description": "", "struct": { @@ -11946,7 +11960,7 @@ }, "type": "automation", "font_size": 12, - "last_updated": "2025-07-15T15:47:49.283Z", + "last_updated": "2025-07-15T15:48:57.573Z", "lastUpdatedVersion": "5.55.2-2023.2.21", "createdVersion": "5.55.2-2023.2.21", "canvasVersion": 3, @@ -11957,6 +11971,7 @@ "inactive": false }, "created": "1970-01-01T00:00:00.000Z", + "uuid": "ee1e2fe1-e425-4bb1-9ffd-ea9a0168a42c", "groups": [], "migrationVersion": 5 } @@ -12334,7 +12349,7 @@ "provenance": "CloudAAA", "username": "trinh.do@itential.com" }, - "lastUpdated": "2025-07-15T15:47:49.284Z", + "lastUpdated": "2025-07-15T15:48:57.574Z", "lastUpdatedBy": { "_id": "67d9adba294dc79a78c56bec", "provenance": "CloudAAA", @@ -12513,13 +12528,19 @@ "provenance": "local_aaa", "username": "admin@pronghorn" }, - "lastUpdated": "2025-07-15T15:48:36.600Z", + "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", @@ -12564,6 +12585,6 @@ } ], "iid": 149, - "thumbnail": "data:image/png;base64,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", + "thumbnail": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB9AAAAInCAYAAADAl8J/AAAACXBIWXMAACYkAAAmJAEXHYbWAAAEzmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI1LTA3LTI0PC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjk1ZjYyODA1LWExMTUtNDgwMC04ZjVhLWNkZjg1YTA5YzdlZjwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5Gb3J0aW5ldC1sb2dvLXJnYi1ibGFjay1yZWQuYWkgLSAxPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+Cgog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", "backgroundColor": "#FFFFFF" }