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

    MAC-Adresse(n) mit API (JSON-RPC) ändern?

    Scheduled Pinned Locked Moved Allgemein
    7 Posts 2 Posters 396 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.
    • ? Offline
      A Former User
      last edited by

      Guten Tag,
      ich versuche aktuell die MAC-Adressen eines Objektes via API zu ändern. Grundsätzlich sollen alle vorhandenen MAC-Adressen geändert werden, allerdings finde ich schon nicht heraus, wie man eine einzelnde MAC ändern kann.

      Mein aktuelles JSON sieht so aus:

      {
          "version": "2.0",
          "method": "cmdb.object.update",
          "params": {
              "id": 723848,
              "title": "Test",
              "apikey": "****",
              "language": "de",
              "category":"C__CATG__NETWORK_PORT",
          },
          "id": 1
      }
      

      Der Titel ändert sich auch erfolgreich, allerings weiß ich nicht, wie ich nun eine der beiden MAC-Adressen ändern kann (siehe Bild).

      Unbenannt.PNG

      Mit freundlichen Grüßen
      Nick

      1 Reply Last reply Reply Quote 0
      • Michael HuhnM Offline
        Michael Huhn
        last edited by

        Hallo @Nick ,

        mit der Methode 'cmdb.object.update' wird nur das Objekte upgedated und zwar die Bezeichnung des Objektes.
        Wenn du Daten in anderen Kategorien ändern möchtest musst du die Methode 'cmdb.category.save' verwenden.

        Zuerst solltest du dir aber die Doku zur i-doit API anschauen, dort sind die Methoden beschrieben und es gibt Beispiele.
        Außerdem gibt es noch die Hilfe in i-doit unter Verwaltung > Schnittstelle / externe Daten > JSON-RPC API > Kategorien und Attribute.

        ? 1 Reply Last reply Reply Quote 0
        • ? Offline
          A Former User @Michael Huhn
          last edited by

          @michael-overkamp said in MAC-Adresse(n) mit API (JSON-RPC) ändern?:

          cmdb.category.save

          Hallo @Michael-Overkamp,
          danke für deine Antwort. Ich habe es auch zu der Zeit mit mit 'cmdb.category.save' probiert. Ich nutze dann natürlich die Variante.

          Ich habe allerdings eher eine andere Frage:

          Wie komme ich nun speziell an eine der MAC-Adressen ran und kann diese ändern, wenn die Kategorie mehre MAC-Adressen hat?
          Aktuell sieht meine Abfrage so aus:

          {
            "version": "2.0",
            "method": "cmdb.category.save",
            "params": {
                "objID": 716878,
                "data": {
                    "mac": "Test"
                },
                "catgID": "C__CATG__MODEL",
                "apikey": "*****",
                "language": "de"
            },
            "id": 1
          }
          

          Ich habe die Doku gelesen, finde allerdings keine relevanten Informationen.

          ? 1 Reply Last reply Reply Quote 0
          • ? Offline
            A Former User @Guest
            last edited by A Former User

            @nick
            Hier mal meine Abfrage:

            {
                "version": "2.0",
                "method": "cmdb.category.read",
                "params": {
                    "objID": 716878,
                    "apikey": "*****",
                    "language": "de",
                    "category":"C__CATG__NETWORK_PORT",
                },
                "id": 1
            }
            

            Und das Ergebnis:

            {
              id: 1,
              jsonrpc: '2.0',
              result: [
                {
                  id: '35726',
                  objID: '716878',
                  title: '',
                  interface: [],
                  port_type: null,
                  port_mode: [Object],
                  plug_type: null,
                  negotiation: null,
                  duplex: null,
                  speed: null,
                  speed_type: null,
                  standard: null,
                  mac: '*****',
                  mtu: null,
                  assigned_connector: null,
                  connector: '35726',
                  connector_sibling: null,
                  cable: [],
                  active: [Object],
                  addresses: [],
                  layer2_assignment: [],
                  hba: null,
                  default_vlan: null,
                  description: "'Mac-Adresse'",
                  relation_direction: null
                },
                {
                  id: '35727',
                  objID: '716878',
                  title: '',
                  interface: [],
                  port_type: null,
                  port_mode: [Object],
                  plug_type: null,
                  negotiation: null,
                  duplex: null,
                  speed: null,
                  speed_type: null,
                  standard: null,
                  mac: '*****',
                  mtu: null,
                  assigned_connector: null,
                  connector: '35727',
                  connector_sibling: null,
                  cable: [],
                  active: [Object],
                  addresses: [],
                  layer2_assignment: [],
                  hba: null,
                  default_vlan: null,
                  description: "'Mac-Adresse WAN'",
                  relation_direction: null
                }
              ]
            }
            
            Michael HuhnM 1 Reply Last reply Reply Quote 0
            • Michael HuhnM Offline
              Michael Huhn @Guest
              last edited by

              Hallo @Nick ,

              bei Multi-Value Kategorien haben die Einträge ID´s.
              In deinem Beispiel sind dies:

              id: '35726',
              

              und

              id: '35727',
              

              Somit würde cmdb.category.save für den Eintrag '35726' so lauten:

              {
                  "version": "2.0",
                  "method": "cmdb.category.save",
                  "params": {
                      "object": 716878,
                     "entryID":35726,
                      "apikey": "*****",
                      "language": "de",
                      "category":"C__CATG__NETWORK_PORT",
                       "data": {
                  		"mac":"AA:AA:AA:AA:AA:AA"
                  		}, 
                },
                  "id": 1
              }
              
              ? 1 Reply Last reply Reply Quote 0
              • ? Offline
                A Former User @Michael Huhn
                last edited by

                Hi @michael-overkamp

                dann war ich auf einem sehr guten Weg. "entry" und "id" hatte ich auch schon probiert.
                Allerdings geht es immernoch nicht ...

                {
                  id: null,
                  jsonrpc: '2.0',
                  error: {
                    code: -32600,
                    message: 'Invalid request : Provided request is not a valid json rpc.',
                    data: null
                  }
                }
                

                Habs genau so genommen, wie du geschrieben hast.

                ? 1 Reply Last reply Reply Quote 0
                • ? Offline
                  A Former User @Guest
                  last edited by

                  @Michael-Overkamp

                  Ich habe das Problem gelöst. Ich hatte das ganze mit einem Javascript und der Axios Libary ausprobiert. Mit ist ein Fehler im Script unterlaufen ... Danke für deine Hilfe !!! 🙂

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