export const tplBuiltIns: Record> = { "model": { "NodeKind": "Erstellt oder aktualisiert einen Knoten basierend auf der Taxonomie (z.B. model.SoftwareInstance(key:=\"...\", name:=\"...\")).", "destroy": "Zerstört den übergebenen Knoten dauerhaft und sofort aus der Datenbank.", "withdraw": "Zieht die Behauptung des aktuellen Patterns für diesen Knoten zurück (leitet das Standard-Aging ein).", "host": "Gibt den übergeordneten Host-Knoten zurück, der mit dem übergebenen Knoten (z.B. Prozess oder Software) verknüpft ist.", "addDisplayAttribute": "Fügt dem Knoten ein Attribut hinzu, das in der Web-Oberfläche ganz oben hervorgehoben wird.", "setRemovalGroup": "Ordnet den Knoten einer Gruppe zu. Knoten dieser Gruppe, die beim nächsten Scan nicht neu bestätigt werden, werden gelöscht.", "findEq": "Führt eine exakte Suche nach Knoten in der Datenbank durch (z.B. Suche nach einer bestimmten ID)." }, "text": { "split": "Teilt einen String anhand eines Trennzeichens in eine Liste von Strings auf.", "join": "Verbindet eine Liste von Strings zu einem einzigen String unter Verwendung eines Trennzeichens.", "lower": "Konvertiert alle Zeichen eines Strings in Kleinbuchstaben.", "upper": "Konvertiert alle Zeichen eines Strings in Großbuchstaben.", "strip": "Entfernt führende und nachfolgende Leerzeichen (Whitespaces) aus einem String.", "replace": "Ersetzt alle Vorkommen eines Suchstrings durch einen neuen String.", "hasPrefix": "Prüft, ob ein String mit einem bestimmten Präfix beginnt (gibt true oder false zurück).", "hasSuffix": "Prüft, ob ein String mit einem bestimmten Suffix endet (gibt true oder false zurück).", "find": "Sucht einen Teilstring innerhalb eines Strings und gibt die numerische Position zurück (oder -1, wenn nicht gefunden).", "hash": "Generiert einen numerischen Hash-Wert aus dem übergebenen String (nützlich für die Key-Generierung)." }, "regex": { "extract": "Extrahiert den ersten Treffer einer Capture-Group (in runden Klammern) aus einem String. Nimmt optional einen Fallback-Wert.", "match": "Prüft, ob ein regulärer Ausdruck auf einen String zutrifft (gibt true oder false zurück).", "findAll": "Findet alle Treffer eines regulären Ausdrucks in einem String und gibt sie als Liste zurück.", "replace": "Ersetzt Muster in einem String, die auf den regulären Ausdruck zutreffen, durch einen neuen String." }, "discovery": { "runCommand": "Führt einen Kommandozeilenbefehl auf dem gescannten Zielsystem (Host) aus und gibt das Ergebnis zurück.", "fileGet": "Ruft den vollständigen Inhalt einer Datei (z.B. Config-File) vom Zielsystem ab.", "fileInfo": "Ruft nur die Metadaten (Größe, Rechte, Zeitstempel) einer Datei ab, ohne den Inhalt zu lesen.", "listDirectory": "Listet den Inhalt (Dateien und Unterordner) eines Verzeichnisses auf dem Zielsystem auf.", "registryKey": "Liest einen bestimmten Registry-Schlüssel auf einem Windows-Host aus.", "wmiQuery": "Führt eine WQL-Abfrage per WMI auf einem Windows-Host aus.", "snmpGet": "Führt einen SNMP GET-Request für eine spezifische OID aus (z.B. für Netzwerkgeräte).", "snmpGetNext": "Führt einen SNMP GETNEXT-Request aus.", "snmpGetTable": "Ruft eine komplette SNMP-Tabelle vom Zielgerät ab.", "databaseQuery": "Führt eine SQL-Abfrage über eine in Discovery konfigurierte Datenbank-Integration aus.", "restRequest": "Führt einen REST-API Request gegen ein konfiguriertes Ziel aus." }, "log": { "debug": "Schreibt eine Debug-Nachricht in das Discovery-Log (nur bei Loglevel DEBUG sichtbar, für tiefe Fehleranalyse).", "info": "Schreibt eine Informationsnachricht in das Log (verfolgt den normalen Ablauf).", "warn": "Schreibt eine Warnung in das Log (für unkritische Fehler, z.B. wenn eine Datei leer ist).", "error": "Schreibt eine Fehlermeldung in das Log (für kritische Pattern-Fehler, die den Ablauf stören).", "critical": "Schreibt einen kritischen Systemfehler in das Log." }, "time": { "current": "Gibt den aktuellen Zeitpunkt der Ausführung in TPL-Epochenzeit zurück.", "format": "Formatiert einen TPL-Zeitstempel in einen für Menschen lesbaren String (z.B. \"%Y-%m-%d %H:%M:%S\").", "parseUTC": "Parst einen Zeit-String als UTC-Zeit und konvertiert ihn in einen TPL-Zeitstempel.", "parseLocal": "Parst einen Zeit-String als lokale Zeit des Hosts und konvertiert ihn in einen TPL-Zeitstempel.", "delta": "Berechnet die Differenz zwischen zwei Zeitstempeln (gibt eine Dauer zurück)." }, "json": { "decode": "Parst einen JSON-String und konvertiert ihn in durchsuchbare TPL-Datenstrukturen (Listen und Dictionaries).", "encode": "Konvertiert eine TPL-Datenstruktur (wie eine Liste oder ein Dictionary) zurück in einen JSON-formatierten String." }, "xpath": { "evaluate": "Führt eine XPath-Abfrage direkt auf einem XML-String aus und gibt die gefundenen Elemente oder Texte zurück.", "open": "Öffnet und parst ein XML-Dokument für komplexere oder mehrfache Abfragen, was performanter als wiederholtes evaluate ist." }, "hash": { "md5": "Generiert einen MD5-Hash aus dem übergebenen String.", "sha1": "Generiert einen SHA-1-Hash aus dem übergebenen String.", "sha256": "Generiert einen SHA-256-Hash aus dem übergebenen String." }, "math": { "abs": "Gibt den absoluten (positiven) Wert einer Zahl zurück.", "ceil": "Rundet eine Zahl auf die nächste Ganzzahl auf.", "floor": "Rundet eine Zahl auf die nächste Ganzzahl ab.", "round": "Rundet eine Zahl nach kaufmännischen Regeln.", "min": "Gibt die kleinste Zahl aus einer übergebenen Liste von Zahlen zurück.", "max": "Gibt die größte Zahl aus einer übergebenen Liste von Zahlen zurück." }, "net": { "ipFromString": "Konvertiert einen IP-String in ein internes TPL-IP-Objekt zur weiteren Verarbeitung.", "ipToString": "Konvertiert ein TPL-IP-Objekt zurück in einen lesbaren String.", "isIPv4": "Prüft, ob es sich bei dem String um eine gültige IPv4-Adresse handelt (true/false).", "isIPv6": "Prüft, ob es sich bei dem String um eine gültige IPv6-Adresse handelt (true/false).", "isMAC": "Prüft, ob der String das Format einer gültigen MAC-Adresse hat (true/false).", "inSubnet": "Prüft, ob eine bestimmte IP-Adresse innerhalb eines angegebenen Subnetzes liegt." }, "built_in_globals": { "size": "Gibt die Länge oder Anzahl der Elemente einer Liste, eines Strings oder eines Dictionaries zurück.", "toNumber": "Konvertiert einen String (z.B. \"123\") in einen Integer (Ganzzahl).", "toString": "Konvertiert einen Wert (z.B. eine Zahl oder ein Objekt) in einen String.", "type": "Gibt den Datentyp der übergebenen Variable als String zurück (z.B. \"list\", \"string\").", "defined": "Prüft, ob eine Variable existiert oder ob ein Attribut an einem Knoten vorhanden ist, bevor darauf zugegriffen wird." } };