{ "version": "2.0", "name": "Create asset group from network", "comment": "Will insert an asset group with the WAPI reference in the comments", "type": "REST_EVENT", "event_type": [ "NETWORK_IPV4" ], "action_type": "Create an asset group based on network changes", "content_type": "text/xml", "vendor_identifier": "Qualys 2.0", "quoting": "XML", "steps": [ { "name": "Debug#0", "operation": "NOP", "body": "${XC:DEBUG:{H:}}${XC:DEBUG:{E:}}${XC:DEBUG:{I:}}${XC:DEBUG:{L:}}${XC:DEBUG:{S:}}${XC:DEBUG:{P:}}${XC:DEBUG:{UT:}}${XC:DEBUG:{R:}}" }, { "name": "stop if it is not a network insert", "operation": "CONDITION", "condition": { "condition_type": "AND", "statements": [ { "left": "${E:A:operation_type}", "op": "!=", "right": "INSERT" } ], "stop": true } }, { "name": "Debug#1", "operation": "NOP", "body": "${XC:DEBUG:{H:}}${XC:DEBUG:{E:}}${XC:DEBUG:{I:}}${XC:DEBUG:{L:}}${XC:DEBUG:{S:}}${XC:DEBUG:{P:}}${XC:DEBUG:{UT:}}${XC:DEBUG:{R:}}" }, { "name": "assignLVarsFixedHost", "operation": "NOP", "body_list": [ "${XC:COPY:{L:Qualys_Assets_Group}:{E:values{extattrs}{Qualys_Assets_Group}{value}}}", "${XC:COPY:{L:Qualys_Scanner}:{E:values{extattrs}{Qualys_Scanner}{value}}}", "${XC:COPY:{L:Qualys_Scan_Option}:{E:values{extattrs}{Qualys_Scan_Option}{value}}}", "${XC:COPY:{L:Qualys_Asset_VM}:{E:values{extattrs}{Qualys_Asset_VM}{value}}}", "${XC:COPY:{L:Qualys_Asset_PC}:{E:values{extattrs}{Qualys_Asset_PC}{value}}}", "${XC:COPY:{L:Qualys_Scan}:{E:values{extattrs}{Qualys_Scan_On_Add}{value}}}", "${XC:COPY:{L:Qualys_User_SNMP}:{E:values{extattrs}{Qualys_User_SNMP}{value}}}", "${XC:COPY:{L:Qualys_User_Unix}:{E:values{extattrs}{Qualys_User_Unix}{value}}}", "${XC:COPY:{L:Event}:{E:object_type}}" ] }, { "name": "Debug#8", "operation": "NOP", "body": "${XC:DEBUG:{H:}}${XC:DEBUG:{E:}}${XC:DEBUG:{I:}}${XC:DEBUG:{L:}}${XC:DEBUG:{S:}}${XC:DEBUG:{P:}}${XC:DEBUG:{UT:}}${XC:DEBUG:{R:}}" }, { "name": "insertNewAssetGroupIfItDoesNotExist", "operation": "GET", "transport": { "path": "/msp/asset_group.php" }, "headers": { "X-Requested-With": "InfobloxDDIIntegration" }, "parameters": [ { "name": "action", "value": "add" }, { "name": "title", "value": "${E:A:values{extattrs}{Qualys_Assets_Group}{value}}" } ], "parse": "XML" }, { "name": "Debug#9", "operation": "NOP", "body": "${XC:DEBUG:{H:}}${XC:DEBUG:{E:}}${XC:DEBUG:{I:}}${XC:DEBUG:{L:}}${XC:DEBUG:{S:}}${XC:DEBUG:{P:}}${XC:DEBUG:{UT:}}${XC:DEBUG:{R:}}" }, { "name": "Init Qualys_Asset_VM_D", "operation": "CONDITION", "condition": { "condition_type": "AND", "statements": [ { "left": "${L:A:Qualys_Asset_VM}", "op": "==", "right": "true" } ], "eval": "${XC:ASSIGN:{L:Qualys_Asset_VM_D}:{I:1}}", "else_eval": "${XC:ASSIGN:{L:Qualys_Asset_VM_D}:{I:0}}" } }, { "name": "Debug#10", "operation": "NOP", "body": "${XC:DEBUG:{H:}}${XC:DEBUG:{E:}}${XC:DEBUG:{I:}}${XC:DEBUG:{L:}}${XC:DEBUG:{S:}}${XC:DEBUG:{P:}}${XC:DEBUG:{UT:}}${XC:DEBUG:{R:}}" }, { "name": "Init Qualys_Asset_PC_D", "operation": "CONDITION", "condition": { "condition_type": "AND", "statements": [ { "left": "${L:A:Qualys_Asset_PC}", "op": "==", "right": "true" } ], "eval": "${XC:ASSIGN:{L:Qualys_Asset_PC_D}:{I:1}}", "else_eval": "${XC:ASSIGN:{L:Qualys_Asset_PC_D}:{I:0}}" } }, { "name": "Debug#11", "operation": "NOP", "body": "${XC:DEBUG:{H:}}${XC:DEBUG:{E:}}${XC:DEBUG:{I:}}${XC:DEBUG:{L:}}${XC:DEBUG:{S:}}${XC:DEBUG:{P:}}${XC:DEBUG:{UT:}}${XC:DEBUG:{R:}}" }, { "name": "insertAsset", "operation": "POST", "transport": { "path": "/api/2.0/fo/asset/ip/" }, "headers": { "X-Requested-With": "InfobloxDDIIntegration" }, "parameters": [ { "name": "action", "value": "add" }, { "name": "ips", "value": "${E::values{network}}" }, { "name": "enable_vm", "value": "${L::Qualys_Asset_VM_D}" }, { "name": "enable_pc", "value": "${L::Qualys_Asset_PC_D}" }, { "name": "comment", "value": "Created+by+Infoblox+DDI+at+${UT::TIME}+from+${L::Event}" } ], "parse": "XML" }, { "name": "insert asset to the group", "operation": "POST", "transport": { "path": "/api/2.0/fo/asset/group/" }, "headers": { "X-Requested-With": "BloxTestIntegration" }, "parameters": [ { "name": "action", "value": "add" }, { "name": "title", "value": "Asset%20group%20for%20network%20${E:A:values{network}}" }, { "name": "comments", "value": "WAPI%20reference%20${E:A:values{_ref}}" }, { "name": "ips", "value": "${E::values{network}}" } ], "parse": "XML" }, { "name": "Debug#2", "operation": "NOP", "body": "${XC:DEBUG:{H:}}${XC:DEBUG:{E:}}${XC:DEBUG:{I:}}${XC:DEBUG:{L:}}${XC:DEBUG:{S:}}${XC:DEBUG:{P:}}${XC:DEBUG:{UT:}}${XC:DEBUG:{R:}}" }, { "name": "errorcheck: insert asset group", "operation": "CONDITION", "condition": { "condition_type": "AND", "statements": [ { "left": "${P:A:SIMPLE_RETURN{RESPONSE}{TEXT}}", "op": "!=", "right": "Asset Group successfully added." } ], "error": true } }, { "name": "Debug#3", "operation": "NOP", "body": "${XC:DEBUG:{H:}}${XC:DEBUG:{E:}}${XC:DEBUG:{I:}}${XC:DEBUG:{L:}}${XC:DEBUG:{S:}}${XC:DEBUG:{P:}}${XC:DEBUG:{UT:}}${XC:DEBUG:{R:}}" }, { "name": "assignSyncVars", "operation": "NOP", "body_list": [ "${XC:COPY:{L:SyncTime}:{UT:TIME}}${XC:FORMAT:TRUNCATE:{L:SyncTime}:{10t}}" ] }, { "name": "Debug#4", "operation": "NOP", "body": "${XC:DEBUG:{H:}}${XC:DEBUG:{E:}}${XC:DEBUG:{I:}}${XC:DEBUG:{L:}}${XC:DEBUG:{S:}}${XC:DEBUG:{P:}}${XC:DEBUG:{UT:}}${XC:DEBUG:{R:}}" }, { "name": "Update_sync", "operation": "PUT", "transport": { "path": "${E:A:values{_ref}}" }, "wapi": "v2.7", "wapi_quoting": "JSON", "body_list": [ "{", "\"extattrs+\":{\"Qualys_SyncTime\": { \"value\": \"${L:U:SyncTime}\"},", "\"Qualys_Sync_Group\": { \"value\": \"${E::values{extattrs}{Qualys_Assets_Group}{value}}\"},", "\"Qualys_SNMP\": { \"value\": \"${E::values{extattrs}{Qualys_User_SNMP}{value}}\"},", "\"Qualys_UNIX\": { \"value\": \"${E::values{extattrs}{Qualys_User_Unix}{value}}\"}", "}", "}" ] }, { "name": "Debug#4.1", "operation": "NOP", "body": "${XC:DEBUG:{H:}}${XC:DEBUG:{E:}}${XC:DEBUG:{I:}}${XC:DEBUG:{L:}}${XC:DEBUG:{S:}}${XC:DEBUG:{P:}}${XC:DEBUG:{UT:}}${XC:DEBUG:{R:}}" }, { "name": "look for an asset group ID", "operation": "POST", "transport": { "path": "/api/2.0/fo/asset/group/" }, "headers": { "X-Requested-With": "InfobloxDDIIntegration" }, "parameters": [ { "name": "action", "value": "list" }, { "name": "title", "value": "${L::Qualys_Assets_Group}" } ], "parse": "XML" }, { "name": "Debug#4.2", "operation": "NOP", "body": "${XC:DEBUG:{H:}}${XC:DEBUG:{E:}}${XC:DEBUG:{I:}}${XC:DEBUG:{L:}}${XC:DEBUG:{S:}}${XC:DEBUG:{P:}}${XC:DEBUG:{UT:}}${XC:DEBUG:{R:}}" }, { "name": "add the assets to a group", "operation": "POST", "transport": { "path": "/api/2.0/fo/asset/group/" }, "headers": { "X-Requested-With": "InfobloxDDIIntegration" }, "parameters": [ { "name": "action", "value": "edit" }, { "name": "id", "value": "${P::ASSET_GROUP_LIST_OUTPUT{RESPONSE}{ASSET_GROUP_LIST}{ASSET_GROUP}{ID}}" }, { "name": "add_ips", "value": "${E::values{network}}" } ], "parse": "XML" }, { "name": "Debug#5", "operation": "NOP", "body": "${XC:DEBUG:{H:}}${XC:DEBUG:{E:}}${XC:DEBUG:{I:}}${XC:DEBUG:{L:}}${XC:DEBUG:{S:}}${XC:DEBUG:{P:}}${XC:DEBUG:{UT:}}${XC:DEBUG:{R:}}" } ] }