Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login
    1. Home
    2. thaefner
    3. Posts
    T
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 7
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Löschen/Purgen von 'single value categories' über JSON-RPC-API

      Hallo jkondek.

      Mit dem folgenden Aufruf überschreibe ich den Eintrag praktisch leer:

      {
      	"version": "2.0",
      	"method": "cmdb.category.update",
      	"params": {
      		"apikey": "123456789",
      		"objID": 42,
      		"category":  "C__CATG__OPERATING_SYSTEM",
      		"data": {
      			"category_id": "1337",
      			"application": "0",
      			"assigned_variant": "0",
      			"assigned_version": "0",
      			"description": ""
      			}
      		},
      	"id": 1
      }
      

      Überschreiben ist allerdings nicht gleich Löschen. Der Purge Button im Webinterface löscht den Eintrag tatsächlich. Lese ich ihn nämlich danach aus erhalte ich ein leeres "result".
      Wenn ich den eintrag nach diesem update allerdings auslese, hat er immernoch die genullten Attribute + seine ID:

      {
          "id": 1, 
          "jsonrpc": "2.0", 
          "result": [
              {
                  "application": [], 
                  "application_priority": {
                      "const": "C__CATG__APPLICATION_PRIORITY__PRIMARY", 
                      "id": "1", 
                      "title": "Primary", 
                      "title_lang": "LC__CATG__APPLICATION_PRIORITY__PRIMARY"
                  }, 
                  "application_type": {
                      "const": "C__CATG__APPLICATION_TYPE__OPERATING_SYSTEM", 
                      "id": "2", 
                      "title": "Operating system", 
                      "title_lang": "LC__CATG__APPLICATION_TYPE__OPERATING_SYSTEM"
                  }, 
                  "assigned_database_schema": false, 
                  "assigned_it_service": false, 
                  "assigned_license": false, 
                  "assigned_variant": null, 
                  "assigned_version": null, 
                  "bequest_nagios_services": {
                      "title": "No", 
                      "value": "0"
                  }, 
                  "description": "", 
                  "id": "1337", 
                  "objID": "42"
              }
          ]
      }
      

      Was für mich optimal wäre, ist nunmal ein leeres result. 😄

      Viele Grüße
      Tobias

      posted in Entwicklung
      T
      thaefner
    • Löschen/Purgen von 'single value categories' über JSON-RPC-API

      Hallo zusammen.

      Ich suche derzeit eine Möglichkeit in einem Objekt  'single value categories' wie z.B. 'C__CATG__OPERATING_SYSTEM' über die JSON-API zu löschen.
      Auf herkömmliche Weise mit cmdb.category.delete erhalte ich folgenden Fehler:

      {
          "error": {
              "code": -32603, 
              "data": {
                  "error": "Your category is not multi-valued. It is not possible to delete a single value category."
              }, 
              "message": "Internal error"
          }, 
          "id": 1, 
          "jsonrpc": "2.0"
      }
      

      Im Webinterface wird allerdings eine purge-Funktion angeboten, also muss die Funktionalität ja in irgendeiner Form schon gegeben sein. Gibt es dafür in der API vielleicht einen anderen Weg?

      Viele Grüße
      Tobias

      posted in Entwicklung
      T
      thaefner
    • Nutzung von templates via JSON-API?

      Guten Tag zusammen.

      Ich habe erneut eine Frage zur JSON-RPC-API. Mittlerweile beschleicht mich ja das Gefühl, dass ich zu einer sehr kleinen Gruppe von i-doit Nutzern gehöre, die diese API aktiv verwenden. 😄

      Aber nun zum Problem:
      Ich suche eine Möglichkeit/Methode mittels der API ein Objekt aus einem Template heraus zu erstellen. Also effektiv das, was man in der Weboberfläche mit einem Klick auf "new object from template" macht.
      Alternativ dazu (für meinen Zweck vielleicht sogar besser geeignet) wäre ich auch an einer Möglichkeit interessiert, mittels einer Funktion/Methode ein vorhandenes Objekt zu klonen und mit einem neuen Namen zu versehen.

      Bisher konnte ich allerdings weder in der Doku, noch hier im Forum einen entsprechenden Beitrag finden.

      Viele Grüße
      Tobias

      posted in Betrieb
      T
      thaefner
    • RE: Fehlende Kategorie in der JSON-RPC-API Doku?

      Hallo jkondek,

      vielen Dank für diese Informationen. Ich werde sie gleich mit verarbeiten. 🙂

      Gruss,
      Tobias

      posted in Betrieb
      T
      thaefner
    • Fehlende Kategorie in der JSON-RPC-API Doku?

      Hallo zusammen.

      Ich nutze die Version 1.6.2-PRO von i-doit und beschäftige mich derzeit mit der JSON-RPC-API. 
      Soeben ist mir aufgefallen, dass die globale Kategorie "C__CATG__OPERATING_SYSTEM" in der Doku nicht mit aufgeführt ist. Ich wäre allerdings sehr an einer Auflistung der Keys sowie deren Datentypen interessiert.

      Gibt es vielleicht eine aktuellere Version dieser Doku oder eine andere Möglichkeit, die Keys und Datentypen auszulesen?

      Viele Grüße
      Tobias

      posted in Betrieb
      T
      thaefner
    • RE: JSON-RPC-API Erstellung von IPv4 nicht vollständig möglich

      Hallo jkondek,

      vielen Dank für die schnelle Hilfe. Das Setzen des DNS-Servers ist nun auch bei mir erfolgreich. Da habe ich wohl den Parameter fehlinterpretiert…

      Viele Grüße,
      Tobias

      posted in Entwicklung
      T
      thaefner
    • JSON-RPC-API Erstellung von IPv4 nicht vollständig möglich

      Hallo zusammen.

      Ich nutze die Version 1.6.2-PRO von i-doit und beschäftige mich zurzeit mit der JSON-RPC-API um Daten von aus einer komplexen Datenbank (welche in erster Linie Serverdaten beinhaltet) direkt an die cmdb schicken und speichern zu können.

      Das Erstellen und Aktualisieren von Objekten funktioniert auch soweit, allerdings bringt mir der folgende Call Probleme:

      {
          "version": "2.0",
          "method": "cmdb.category.create",
          "params": {
              "apikey": my_apikey,
              "category": "C__CATG__IP",
              "objID": 40,   
              "data": {
                  "net_type": "1",
                  "net": "20",
                  "hostname":  "Test-IP",
                  "description": "Test Beschreibung",
                  "ipv4_address": "192.168.1.2",
                  "ipv4_assignment": "2",
                  "primary": "1",
                  "active": "1",
                  "dns_server": "30", 
                  "dns_domain": "test-domain",
                  "use_standard_gateway": "1"
                  }       
              },
          "id": "1"
      }
      
      

      Kommentiere ich die Parameter "dns_server" sowie "dns_domain" aus, erhalte ich eine "SUCCESS"-Meldung und die Aktualisierung wird vorgenommen. Ist jedoch mindesens einer der beiden dabei, erhalte ich diese Meldung:

      {
          "error": {
              "code": -32602, 
              "data": {
                  "error": "Object id invalid. ID must be positive and higher than two."
              }, 
              "message": "Invalid parameters"
          }, 
          "id": "1", 
          "jsonrpc": "2.0"
      }
      
      

      Die objekt-ID des Ziels bleibt unverändert. Da auch die ID-Nummern der Parameter "net", "ipv4_assignment" etc. korrekt erfasst werden, schließe ich einen parse-Fehler ebenfalls aus.
      Da ich für viele Objekte gern den dazugehörigen DNS-Server sowie die Domäne erfassen möchte, hoffe ich auf Hilfe.

      Viele Grüße
      Tobias

      posted in Entwicklung
      T
      thaefner