Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    JSON-RPC: Kategorie anlegen

    Scheduled Pinned Locked Moved Betrieb
    5 Posts 2 Posters 1.1k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D Offline
      dirk74
      last edited by

      Hallo,

      wenn ich ein Objekt (Server) per JSON-Request anlege, klappt das. Auch eine Kategorie wie "CPU" ist kein Problem. Nur bei "Host address" wirft es einen Fehler.
      Auszug Log:
      –----------------------------------------------------------
      _[2014-09-08 16:37:19] INFO: JSON-RPC controller started for request: array (  'method' => 'cmdb.category.create',  'params' =>  array (    'apikey' => 'XXXXXXX',    'catgID' => 'C__CATG__IP',    'objID' => '151',    'data' =>    array (      'hostname' => 'serverhostname',    ),  ),  'id' => 2,  'version' => '2.0',)

      [2014-09-08 16:37:19] INFO: Using previous authorizaton from systemapi (Testsystem)

      [2014-09-08 16:37:19] INFO: Retrieving data from: category

      [2014-09-08 16:37:19] INFO: Data: array (
      )

      [2014-09-08 16:37:19] INFO: Transmitting response: {"jsonrpc":"2.0","result":{"success":false,"message":"Error while creating category entry"},"id":2}

      [2014-09-08 16:37:19] INFO: Request with id 2 transmitted._ –----------------------------------------------------------

      Hat jemand eine Idee?
      Danke.

      Gruß
      Dirk

      1 Reply Last reply Reply Quote 0
      • J Offline
        jkondek
        last edited by

        Hallo Dirk,

        bei mir funktioniert folgender Aufruf:
        wget -O- –no-check-certificate -o /dev/null $CMDB_API_URL --header 'Content-Type: application/json-rpc' --post-data "{"jsonrpc": "2.0", "method": "cmdb.category.create","params": {"apikey": "$CMDB_API_KEY", "objID": "$id", "catgID": "47", "data":{"net_type": "1", "ipv4_assignment": "2", "ipv4_address": "$ip"}}}"

        Eventuell musst Du noch net_type, ipv4_assignment und ipv4_address angeben?

        Gruss,
        jkondek

        1 Reply Last reply Reply Quote 0
        • D Offline
          dirk74
          last edited by

          Hallo jkondek,

          Du bist ja wieder superschnell!
          Die zusätzlichen Attribute habe ich weggelassen, da sie in der Doku als optional markiert sind.
          Hier nochmal angepasst:

          request: array (  'method' => 'cmdb.category.create',  'params' =>  array (    'apikey' => 'XXXXXXX',    'objID' => '157',    'catgID' => '47',    'data' =>    array (      'hostname' => 'serverhostname',    ),  ),  'id' => 2,  'version' => '2.0',)
          Leider wieder ein Fehler.

          Gruß
          Dirk

          1 Reply Last reply Reply Quote 0
          • J Offline
            jkondek
            last edited by

            Hallo Dirk,

            nur weil in der Doku "optional" steht, heisst es nicht, dass es auch so ist! Ich hatte versucht nur die IP einzutragen, musste allerdings auch net_type und/oder (?) ipv4_assignment zusaetzlich angeben, da es sonst nicht funktioniert hat.

            Hast Du es mit den zusaetzlichen Angaben denn ausprobiert?

            Gruss,
            jkondek

            1 Reply Last reply Reply Quote 0
            • D Offline
              dirk74
              last edited by

              Du hast recht!
              Es funktioniert mit den ergänzten Attributen.
              Nach etwas Rumprobieren festgestellt, dass es dem System genügt, wenn man den "net_type", also IPv4 oder IPv6 zuweist. Das deckt sich auch damit, dass er sich beim manuellen Anlegen mit dem Hostnamen begnügt hat, da er standardmäßig als Netztyp IPv4 zuweist.
              Danke!

              Gruß
              Dirk

              1 Reply Last reply Reply Quote 0
              • First post
                Last post