@mamawe said in API create object from template:
@Kleinrotti I can confirm that this works with API version 1.13 too.
Just tested with API version 1.13.1: it works there too, but has to be inserted at line 292.
Kind regards,
Mathias
@mamawe said in API create object from template:
@Kleinrotti I can confirm that this works with API version 1.13 too.
Just tested with API version 1.13.1: it works there too, but has to be inserted at line 292.
Kind regards,
Mathias
@Kleinrotti I can confirm that this works with API version 1.13 too.
Thanks a lot, this saves some API calls when importing a few hundred switches and makes the scripts easier to write.
Kind regards,
Mathias
Ich hab es selbst herausbekommen, hat nur ein paar Tage gedauert.
{
"method": "cmdb.category.save",
"params": {
"object": 20132,
"category": "C__CATS__NET_ZONE",
"data": {
"zone": "15314",
"range_from": "10.100.81.242",
"range_to": "10.100.81.244",
"description": "Beschreibung"
}
}
}
Das Attribut heißt "zone", nicht "objID"!
Mit freundlichem Gruß,
Mathias
Hallo,
ich versuche, über das API zu einem bestehenden Layer-3-Netz Zonen hinzuzufügen.
Wenn ich die Zone im UI anlege, sieht sie im API anschließend so aus:
{
"id": "15320",
"objID": "15314",
"zone": {
"id": "15314",
"title": "routing",
"sysid": "SYSID_1638197798",
"type": "C__OBJTYPE__NET_ZONE",
"type_title": "Net zone"
},
"range_from": "10.100.81.252",
"range_from_long": "174346748",
"range_to": "10.100.81.254",
"range_to_long": "174346750",
"description": "Beschreibung"
}
Wenn ich versuche eine Zone im API anzulegen, sind "objID" und "zone" immer null. Ich verwende folgenden API-Aufruf:
{
"method": "cmdb.category.save",
"params": {
"object": 20132,
"category": "C__CATS__NET_ZONE",
"data": {
"objID": "15314",
"range_from": "10.100.81.242",
"range_to": "10.100.81.244",
"description": "Beschreibung"
}
}
}
Damit bekomme ich folgende Zone:
{
"id": "15321",
"objID": null,
"zone": null,
"range_from": "10.100.81.242",
"range_from_long": "174346748",
"range_to": "10.100.81.244",
"range_to_long": "174346750",
"description": "Beschreibung"
}
Was mache ich falsch?
Mit freundlichem Gruß,
Mathias
Ich bin nach einigem Nachdenken von meiner ersten Idee abgekommen.
Ein VXLAN hat einen VXLAN Network Identifier (VNI) und ist über mehrere VXLAN Tunnel Endpoints (VTEP) erreichbar.
Ein VTEP ist charakterisiert durch eine IP-Adresse und einen UDP-Port (per Default 4789).
Über einen VTEP können mehrere VXLAN erreicht werden.
Dem VXLAN kann optional eine Multicast-Gruppe zugeordnet sein, wenn die VTEPs ihrerseits Broadcast- und Multicast-Traffic aus dem VXLAN via Multicast austauschen.
Alternativ können sich alle VTEP eines VXLAN im selben Layer-2-Netzwerk (VLAN) befinden.
Das brauche ich im Moment nicht dokumentieren.
Besser als den vorhandenen Objekttypen "Layer 2 Net" zu missbrauchen scheint mir zu sein, hier zwei benutzerdefinierte Objekttypen und ein paar Objekt-Beziehungen einzuführen.
Dann wäre VXLAN ein Objekttyp mit der VNI als Pflichtattribut.
Dieser Objekttyp könnte der Kategorie Layer-2-Netzwerk angehören.
Ein VTEP hätte als Attribute eine Adresse (IPv4 oder IPv6) sowie einen UDP-Port.
Dann könnte ich vielleicht die Beziehung Layer-2-Transport mit dem VTEP als Master und dem VXLAN als Slave verwenden.
Den Objekttyp VXLAN habe ich hinbekommen.
Mit der spezifischen Kategorie "Layer 2 Net" hat er das Attribut ID (VLAN) bekommen.
Das sieht zwar nicht schön aus, geht aber zunächst.
Bei dem Objekttyp für VTEP komme ich im Moment nicht weiter.
Wie kann ich da die Attribute für IP-Adresse und UDP-Port hinzufügen?
Hallo,
ich bin mir nicht ganz sicher, wie ich VXLAN mit i-doit dokumentieren kann.
Weder in der Knowledge-Base noch hier im Forum hatte ich einen Treffer bei der Suche nach "VXLAN".
Meine Idee dazu ist, den Typ Layer-2-Net (C__OBJTYPE__LAYER2_NET) zu verwenden und in der Kategorie Layer-2-Net (C__CATS__LAYER2_NET) bei der VLAN-ID die beiden IDs durch einen Punkt getrennt einzutragen.
Dokumentiert jemand hier VXLAN mit i-doit?
Gibt es einen anderen / besseren Weg?
Mit freundlichem Gruß,
Mathias