API - kompletten Baum eines Objektes auslesen
-
Moin!
Ich evaluiere für einen Kunden gerade die Features von i-doit und dessen API.
Ich habe als Testobjekt einen Netzwerkdrucker, samt Netzwerk, Model, Accounting, etc. erstellt, bekomme aber nur die allgemeinen Informationen zurück.
Auch kein Verweis auf verknüpfte Daten.Gibt es über die API eine Möglichkeit, den kompletten Baum eines Objektes auszulesen?
-
"Zu Fuß" ist das m.E. nicht zu empfehlen. Die php-basierte API Client Library bietet dafür die Methode CMDBObject::load(), welche die nötigen Aufrufe beinhaltet.
-
@MartinV
"Zu Fuß" will man so etwas auch nicht machen.
Ich programiere mir da gerade eine python Klasse, die mir das abstrahieren soll.
Warum python in nicht PHP? Ich muss das ganze in Zukunft über Ansible ansteueren.Ich seh mal zu, ob ich die Methode nach python transportiert bekomme ..
Danke!
-
Das triffft sich ja... Ich fasse PHP auch nur an wenn's sein muss, und habe deswegen die PHP Client API nach Python portiert.
Da das nur für Inhouse-Verwendung gedacht ist, habe ich noch nichts für eine Veröffentlichung poliert. Ich kann es aber mal zusammenpacken und (unter As-Is Policy) zur Verfügung stellen.
Edit: Done. Herunterzuladen unter http://de.openvms.org/software-download/i-doit_API.zip
-
@MartinV : lieber Martin, danke für die Bereitstellung Deiner Inhouse-Portierung von Benjamin Heisig's php client library für i-doit's JSON-RPC API.
Ich habe mich heute Morgen ein wenig mit Deiner Implementierung beschäftigt und konnte auf Anhieb erfolgreich das mitgelieferte Testscript read_Objects_and_Categories.py zum Laufen bekommen.
Andere Methoden, wie CMDBObjectsByRelation oder CMDBLocationTree konte ich ebenfalls aus der python i-doit API client library von Dir, erfolgreich verwenden.Hast Du vor das ganze offiziell zu veröffentlichen? Ich bin am überlegen, ob ich meine Programmentwicklungen auf Dein Fundament stellen soll. Da wäre es natürlich toll, weiterhin Anteil an Deiner Arbeit haben zu könen.
Zunächst aber vielen, vielen Dank. Das macht auf den ersten Blick einen sehr guten Eindruck.
-
@hu: Danke für die Bestätigung, dass die Implementierung auch funktioniert, wenn ich nicht danebenstehe und ein Auge darauf habe
Das Projekt ist jetzt auf GitHub: https://github.com/mvorl/i-doit_API
Ich werde mich natürlich um die Behebung von gemeldeten Fehlern kümmern; darüber hinaus kann ich aber nichts versprechen.