Patchverbindung setzen



  • Hallo,

    ich beschäftige mich seit ein paar Tagen mit der API und versuche gerade, zwei Patchpanel-Ports (Eingänge) zu verbinden. Wie aber setze ich den "assigned_connector" eines Ports? Ich finde den Port nicht als "Objekt" (C__CATG__PORT o.ä.) und aus der Portliste (C__CATG__CONNECTOR(ObjId)) heraus habe ich keinen Plan wie ich das machen soll. Hat jemand einen Tipp?

    VG - René

    [6:12 PM] René Kadner: Es reicht für den Anfang auch eine Abfrage entsprechend: http://myHost/?objID=116&tvMode=1006&catgID=50&objTypeID=43&cateID=2
    Das Kommando {"method":"cmdb.category","id":1,"params":{"apikey":"xyz", "objID":116, "objTypeID":"43", "cateID":"1"},"version":"2.0"} ignoriert aber die Parameter objTypeID und cateID.


  • i-doit Kenner

    Hallo René,

    ich verstehe noch nicht genau, wofuer Du den Parameter "objTypeID" benoetigst.
    Wofuer muss man angeben, um was fuer einen Objekttypen es sich handelt, wenn man die ObjID bereits uebergibt? Kannst Du den Parameter auch weglassen?

    cateID scheint mir hier auch etwas fehl am Platz, laut Doku klingt es eher danach, als wuerdest Du damit einen Eintrag loeschen koennen:

    integer cateID (ID des zu löschenden Eintrags aus der entsprechenden Kategorie)

    Sinnvoller waere es, eine catgID (bei globaler Kategorie) oder eine catsID (bei spezifischer Kategorie) zu uebergeben, wenn Du Kategorien erstellen moechtest.
    Da es sich bei der Kategorie Netzwerk (Ordner) um eine globale Kategorie handelt, wuerde ich es mal mit catgID 7 ausprobieren. Klingt zumindest sehr danach (LC__CMDB__CATG__NETWORK)…

    Gruss,
    jkondek



  • Oh, ich habe wohl die Ergänzung in den falschen Post kopiert. Mit CateID hat das hier tatsächlich nichts zu tun.
    Ich habe inzwischen versucht weiter am Problem zu arbeiten:

    
    {"method":"cmdb.category.update","id":1,
      "params": {
    	"apikey":"xxxx", 
    	"objID":"116",
    	"name":"7",
    	"id":"13", 
        "category":"C__CATG__CONNECTOR", 
        "data": {
        	"category_id":"assigned_connector",
        	"objID":"118",
        	"id": "29",
        	"name":"7"
        }
      },
      "version":"2.0"
    } 
    
    

    Vom Patchfeld1 (ObjID 116), Port "7" (id 13) soll eine Verbindung zum Patchfeld2 (ObjID 118) auch auf Port "7" (id: 29) gesetzt werden.
    Als Ergebnis erhalte ich ein mir völlig unverständliches

    "error": "Unable to find a category entry with id 29 for object 116."
    

    Da ein Port kein Objekt ist, scheint das "normale" Update nicht zu funktionieren. Wo liegt mein Fehler?



  • Hallo René,

    mir sind einige Dinge aufgefallen die bei deinem API-Aufruf nicht notwendig sind bzw. eine Fehlermeldung verursachen.
    Unter dem Abschnitt "params" sind die Parameter "objID" und "id" die sich überschneiden. Parameter "name" ist nicht notwendig da nur Anschlüsse verbunden werden.
    Unter dem Abschnitt "data" brauchst du lediglich die IDs zu den Anschlüssen die Verbunden werden sollen.

    Hier der Aufruf für deinen Fall:

    
    {"method":"cmdb.category.update","id":1,
      "params": {
    	"apikey":"xxxx",
    	"objID":"116",
        "category":"C__CATG__CONNECTOR",
        "data": {
            "id": "13",
            "assigned_connector":"29"
        }
      },
      "version":"2.0"
    }
    
    

    Ich hoffe das ich dir helfen konnte.

    VG,
    VQHoang



  • Ich hoffe das ich dir helfen konnte.

    Ja, ich hatte das wohl etwas kompliziert gemacht. Die vielen Parameter hatte ich im Wissen verwendet, dass einige nicht verwendet werden. Ich wusste nur nicht, welche.
    Der Aufruf macht jetzt genau das, was ich wollte.

    Vielen Dank.
    René


 


Datenschutz / Privacy Policy