{ "code_name": "sync", "unique_prefix": "SYNC", "plugin_type": "core", "enabled": true, "data_source": "script", "mapped_to_table": "CurrentScan", "data_filters": [ { "compare_column": "Object_PrimaryID", "compare_operator": "==", "compare_field_id": "txtMacFilter", "compare_js_template": "'{value}'.toString()", "compare_use_quotes": true } ], "show_ui": true, "localized": ["display_name", "description", "icon"], "display_name": [ { "language_code": "en_us", "string": "Sync Hub" } ], "description": [ { "language_code": "en_us", "string": "Plugin to synchronize multiple NetAlertX instances." } ], "icon": [ { "language_code": "en_us", "string": "" } ], "params": [], "settings": [ { "function": "RUN", "events": ["run"], "type": { "dataType": "string", "elements": [ { "elementType": "select", "elementOptions": [], "transformers": [] } ] }, "default_value": "unused", "options": [ "unused", "once", "schedule", "always_after_scan", "on_new_device", "on_notification" ], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "When to run [n,h]" }, { "language_code": "es_es", "string": "Cuándo ejecutar [n,h]" }, { "language_code": "de_de", "string": "Wann laufen [n,h]" } ], "description": [ { "language_code": "en_us", "string": "When the sync should run. Data might be lost if you run the sync less frequently. Good options are always_after_scan, on_new_device, on_notification" } ] }, { "function": "RUN_SCHD", "type": { "dataType": "string", "elements": [ { "elementType": "input", "elementOptions": [], "transformers": [] } ] }, "default_value": "*/5 * * * *", "options": [], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Schedule [n,h]" } ], "description": [ { "language_code": "en_us", "string": "Only enabled if you select schedule in the SYNC_RUN setting. Make sure you enter the schedule in the correct cron-like format (e.g. validate at crontab.guru). For example entering 0 4 * * * will run the scan after 4 am in the TIMEZONE you set above. Will be run NEXT time the time passes." }, { "language_code": "es_es", "string": "Solo está habilitado si selecciona schedule en la configuración SYNC_RUN. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en crontab.guru). Por ejemplo, ingresar 0 4 * * * ejecutará el escaneo después de las 4 a.m. en el TIMEZONE que configuró arriba. Se ejecutará la PRÓXIMA vez que pase el tiempo." }, { "language_code": "de_de", "string": "Nur aktiviert, wenn Sie schedule in der SYNC_RUN-Einstellung auswählen. Stellen Sie sicher, dass Sie den Zeitplan im richtigen Cron-ähnlichen Format eingeben (z. B. validieren unter crontab.guru). Wenn Sie beispielsweise 0 4 * * * eingeben, wird der Scan nach 4 Uhr morgens in der TIMEZONE den Sie oben festgelegt haben. Wird das NÄCHSTE Mal ausgeführt, wenn die Zeit vergeht." } ] }, { "function": "encryption_key", "type": { "dataType": "string", "elements": [ { "elementType": "input", "elementHasInputValue": 1, "elementOptions": [{ "cssClasses": "col-xs-12" }], "transformers": [] }, { "elementType": "button", "elementOptions": [ { "getStringKey": "Gen_Generate" }, { "customParams": "SYNC_encryption_key" }, { "onClick": "generateApiToken(this, 30)" }, { "cssClasses": "col-xs-12" } ], "transformers": [] } ] }, "maxLength": 50, "default_value": "", "options": [], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Encryption Key [n,h]" } ], "description": [ { "language_code": "en_us", "string": "Encryption key used to encrypt the data before sending and for decryption on the hub. The key needs to be the same on the hub and on the nodes." } ] }, { "function": "nodes", "type": { "dataType": "array", "elements": [ { "elementType": "input", "elementOptions": [ { "placeholder": "Enter full url" }, { "suffix": "_in" }, { "cssClasses": "col-sm-10" }, { "prefillValue": "null" } ], "transformers": [] }, { "elementType": "button", "elementOptions": [ { "sourceSuffixes": ["_in"] }, { "separator": "" }, { "cssClasses": "col-xs-12" }, { "onClick": "addList(this, false)" }, { "getStringKey": "Gen_Add" } ], "transformers": [] }, { "elementType": "select", "elementHasInputValue": 1, "elementOptions": [ { "multiple": "true" }, { "readonly": "true" }, { "editable": "true" } ], "transformers": [] }, { "elementType": "button", "elementOptions": [ { "sourceSuffixes": [] }, { "separator": "" }, { "cssClasses": "col-xs-6" }, { "onClick": "removeAllOptions(this)" }, { "getStringKey": "Gen_Remove_All" } ], "transformers": [] }, { "elementType": "button", "elementOptions": [ { "sourceSuffixes": [] }, { "separator": "" }, { "cssClasses": "col-xs-6" }, { "onClick": "removeFromList(this)" }, { "getStringKey": "Gen_Remove_Last" } ], "transformers": [] } ] }, "default_value": [], "options": [], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Nodes [h]" } ], "description": [ { "language_code": "en_us", "string": "If specified, the hub will pull Devices data from the listed nodes." } ] }, { "function": "hub_url", "type": { "dataType": "string", "elements": [ { "elementType": "input", "elementOptions": [], "transformers": [] } ] }, "maxLength": 50, "default_value": "", "options": [], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Hub URL [n]" } ], "description": [ { "language_code": "en_us", "string": "The URL of the hub (target instance). Set on the Node. Without a trailig slash, for example http://192.168.1.82:20211" } ] }, { "function": "node_name", "type": { "dataType": "string", "elements": [ { "elementType": "input", "elementOptions": [], "transformers": [] } ] }, "maxLength": 50, "default_value": "", "options": [], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Node name [n]" } ], "description": [ { "language_code": "en_us", "string": "Use a unique node name, without spaces or special characters, such as Node_Vlan01" } ] }, { "function": "devices", "type": { "dataType": "boolean", "elements": [ { "elementType": "input", "elementOptions": [{ "type": "checkbox" }], "transformers": [] } ] }, "default_value": false, "options": [], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Sync Devices [n]" } ], "description": [ { "language_code": "en_us", "string": "When enabled the whole Devices table is sent over. Only new devices with new MACs are inserted in the target hub." } ] }, { "function": "plugins", "type": { "dataType": "array", "elements": [ { "elementType": "select", "elementOptions": [{ "multiple": "true", "ordeable": "true" }], "transformers": [] } ] }, "maxLength": 50, "default_value": [], "options": ["{value}"], "options_params": [ { "name": "value", "type": "setting", "value": "LOADED_PLUGINS" } ], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Sync Plugins [n]" } ], "description": [ { "language_code": "en_us", "string": "Plugins to synchronize. Only plugins that produce some kind of output in last_result.log can be synchronized." } ] }, { "function": "CMD", "type": { "dataType": "string", "elements": [ { "elementType": "input", "elementOptions": [{ "readonly": "true" }], "transformers": [] } ] }, "default_value": "python3 /app/front/plugins/sync/sync.py", "options": [], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Command" }, { "language_code": "es_es", "string": "Comando" }, { "language_code": "de_de", "string": "Befehl" } ], "description": [ { "language_code": "en_us", "string": "Command to run. This can not be changed" }, { "language_code": "es_es", "string": "Comando a ejecutar. Esto no se puede cambiar" }, { "language_code": "de_de", "string": "Befehl zum Ausführen. Dies kann nicht geändert werden" } ] }, { "function": "RUN_TIMEOUT", "type": { "dataType": "integer", "elements": [ { "elementType": "input", "elementOptions": [{ "type": "number" }], "transformers": [] } ] }, "default_value": 30, "options": [], "localized": ["name", "description"], "name": [ { "language_code": "en_us", "string": "Run timeout" }, { "language_code": "es_es", "string": "Tiempo límite de ejecución" }, { "language_code": "de_de", "string": "Zeitüberschreitung" } ], "description": [ { "language_code": "en_us", "string": "Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted." }, { "language_code": "es_es", "string": "Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, el script se cancela." }, { "language_code": "de_de", "string": "Maximale Zeit in Sekunden, die auf den Abschluss des Skripts gewartet werden soll. Bei Überschreitung dieser Zeit wird das Skript abgebrochen." } ] } ], "database_column_definitions": [ { "column": "Index", "css_classes": "col-sm-2", "show": true, "type": "none", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Index" } ] }, { "column": "Object_PrimaryID", "mapped_to_column": "cur_MAC", "css_classes": "col-sm-3", "show": true, "type": "device_name_mac", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "MAC (name)" }, { "language_code": "es_es", "string": "MAC" }, { "language_code": "de_de", "string": "MAC" } ] }, { "column": "Object_SecondaryID", "mapped_to_column": "cur_IP", "css_classes": "col-sm-2", "show": true, "type": "device_ip", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "IP" }, { "language_code": "es_es", "string": "IP" }, { "language_code": "de_de", "string": "IP" } ] }, { "column": "Watched_Value1", "mapped_to_column": "cur_Name", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Name" } ] }, { "column": "Watched_Value2", "mapped_to_column": "cur_Vendor", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Vendor" } ] }, { "column": "Watched_Value3", "mapped_to_column": "cur_SyncHubNodeName", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Sync Node" } ] }, { "column": "Watched_Value4", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Device GUID" } ] }, { "column": "Dummy", "mapped_to_column": "cur_ScanMethod", "mapped_to_column_data": { "value": "sync" }, "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Scan method" }, { "language_code": "es_es", "string": "Método de escaneo" }, { "language_code": "de_de", "string": "Scanmethode" } ] }, { "column": "DateTimeCreated", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Created" }, { "language_code": "es_es", "string": "Creado" }, { "language_code": "de_de", "string": "Erstellt" } ] }, { "column": "DateTimeChanged", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value": "", "options": [], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Changed" }, { "language_code": "es_es", "string": "Cambiado" }, { "language_code": "de_de", "string": "Geändert" } ] }, { "column": "Status", "css_classes": "col-sm-1", "show": true, "type": "replace", "default_value": "", "options": [ { "equals": "watched-not-changed", "replacement": "
" }, { "equals": "watched-changed", "replacement": "
" }, { "equals": "new", "replacement": "
" }, { "equals": "missing-in-last-scan", "replacement": "
" } ], "localized": ["name"], "name": [ { "language_code": "en_us", "string": "Status" }, { "language_code": "es_es", "string": "Estado" }, { "language_code": "de_de", "string": "Status" } ] } ] }