Seite 1 von 1

API/SDK/REST Probleme - Benutzt das irgendwer erfolgreich?

Verfasst: 07.11.2024, 14:07
von zufallsphillip
Moin zusammen,

aus Verzweiflung über die schiere Anzahl an APIs die einem Broadcom zur Verwaltung eines vCenters zur Verfügung stellt, wollte ich hier mal nach Erfahrungsberichten fragen, ob die jemand erfolgreich im Einsatz hat.

Ich versuche seit gestern die APIs zu bemühen mir mitzuteilen welche Version meine mit dem vCenter verbundenen ESXi Hosts (nicht die vCenter-Versionen!) haben.

Als Einstiegspunkt diente mir diese einfache Abfrage:
https://[vCenter-FQDN]/sdk/vim25/8.0.1.0/ServiceInstance/ServiceInstance/content
Ganz ohne Login oder irgendetwas bekommt man hier die vCenter-Version. Soweit so gut. (setzt vCenter >= 8.0.1 voraus, URL funktioniert auch unverändert wenn die Version bereits größer ist)

Es handelt sich hierbei wohl um die Broadcom "Virtual Infrastructure JSON API"https://developer.broadcom.com/xapis/virtual-infrastructure-json-api/latest/, welche getrennt zu betrachten ist von der "vSphere Automation API" https://developer.broadcom.com/xapis/vsphere-automation-api/latest/. Mit beiden habe ich es versucht.

Ich habe nun mit Postman etwas rumprobiert und konnte mir erfolgreich einen API-Key bzw eine "vmware-api-session-id" ausstellen, da hörte leider stets der Erfolg dann auf. Die JSON API scheint auf Anhieb erstmal gar nicht zu funktionieren, auch wenn man den API-Key als HTTP Header vermeintlich korrekt mitgibt, erhält man nur die Info "The session is not authenticated."
Bei der Automation API kommt dann bei Abfrage meines aktuellen User-Privilegs (als administrator@vsphere.local) "The following (object: com.vmware.vcenter.authorization.privilege_checks.list privileges: Sessions.CollectPrivilegeChecks) privileges are insufficient to user"
Die geforderten Privilegien sind aber nicht abgebildet in der Web-UI.

Bei näherer Betrachtung der Doku fallen aber auch häufige Lücken auf und tote Links.

Es beschleicht mich also das Gefühl, dass diese APIs evtl. gar nicht fertig sind, oder anwerweitig schlicht nicht funktionieren. Es wurmt mich etwas, da ich im Internet nur wenig Inhalte zu diesem Thema finde und die paar Blogposts, die ich gefunden habe tun das was ich schon versucht habe und haben dann damit Erfolg.

Grund für die ganze Untersuchung ist mein Wunsch über viele vCenter an vielen Standorten die Software-Stände automatisiert abzufragen und dazu dann einen Bericht zu generieren. Wird schlussendlich über C# oder Powershell erfolgen, aber die grundlegende Funktion wollte ich erstmal in Klicki-Bunti mit Postman beweisen.

Arbeitet ihr erfolgreich mit diesen APIs? Gibt es evtl. eine andere, die tatsächlich funktioniert? Muss ich irgendwo ein Häkchen setzen "API bitte auch erlauben" obwohl ich schon globaler Admin bin? Vielen Dank für euer Feedback!

Re: API/SDK/REST Probleme - Benutzt das irgendwer erfolgreich?

Verfasst: 07.11.2024, 16:24
von JustMe
Meine Antwort mag vielleicht das Thema nur schrammen, aber da Du ja selbst PowerShell erwaehnst:
Wieso bedienst Du Dich nicht einfach beim PowerCLI von VMware/Broadcom? Dann ueberschuettet Dich ein get-vmhost (zum vCenter oder direkt zum ESXi) mit Informationen zu ebensolchem.

Dieses (wie auch alle anderen Management Utilities) bedient sich der vom ESXi und auch vom vCenter bereitgestellten API-Schnittstellen, weswegen meine Vermutung, dass die an sich recht gut funktionieren, nicht allzu weit hergeholt sein duerfte.

Re: API/SDK/REST Probleme - Benutzt das irgendwer erfolgreich?

Verfasst: 07.11.2024, 16:49
von irix
In Kurz. Nimm PowerCLI

Da ich aus der PHP Ecke komme wollte ich damals SOAP verwenden aber da war damals mit PHP fast kein Stich zu machen. Wenn es eine RestAPI gibt wuerde ich heute nochmal anfangen an der Ecke.

Wenn es dir ums Scripten geht... dann PowerCLI.

Gruss
Joerg

Re: API/SDK/REST Probleme - Benutzt das irgendwer erfolgreich?

Verfasst: 08.11.2024, 08:22
von zufallsphillip
JustMe hat geschrieben:Wieso bedienst Du Dich nicht einfach beim PowerCLI

irix hat geschrieben:In Kurz. Nimm PowerCLI


Ehrlich gesagt weiß ich inzwischen gar nicht mehr so richtig warum nicht :? , ich hatte mir die PowerCLI sogar nochmal runtergeladen, weil ich da lange nichts mit gemacht habe. Ich glaube es hatte mit Sorge um's Credential-Speichern zutun, aber da komm ich wohl eh nicht drum rum. Außerdem war in meinem Kopf das Spielen mit JSON Objekten einfacher / einfach genug.

Danke für den Input! Ich werd's wahrscheinlich so machen. Wär trotzdem spannend zu wissen, ob die JSON bzw. REST API (ich finds immer noch erstaunlich, dass das zwei unterschiedliche Dinge sind) überhaupt gescheit läuft bei irgendwem.

irix hat geschrieben:Wenn es eine RestAPI gibt wuerde ich heute nochmal anfangen an der Ecke.


Lass mich wissen wie es lief! Die Links im OP sollten auf die aktuelle/richtige Doku verweisen. Das andere Zeug was ich gefunden hab stand i.d.R. irgendwo "deprecated" mit dran oder hatte gar keine Info zu den Pfaden, die man dann annavigieren muss.

VG
Phillip

EDIT: Ich weiß doch wieder warum nicht PowerCLI: da ich ganz am Anfang mir die vCenter Version ohne Login rausziehen konnte, war meine Hoffnung, dass ich das mit den Hosts auch irgendwie schaffe und dann wurden irgendwie 8 Stunden Tortur über 2 Tage draus...