DNS API: Falsche Formatierung der DNS Records

  • Guten Tag liebes Forum,


    Das ist mein erster Post, und höchstwahrscheinlich falsch eingeordnet. Ich habe angefangen, für die DNS-Challenge von Let's Encrypt ein Python Script als Hook zu schreiben. Im ersten Schritt möchte ich nur das aktuelle DNS ohne Änderungen updaten. Dabei nehme ich den Output von infoDnsReocrds und packe ihn direkt wieder in updateDnsRecords. Allerdings ist es angeblich fehlformatiert - ich habe mEn alles nach Dokumentation gemacht.


    Hier ist das aktuelle Skript ohne Daten:



    Und hier das Ergebnis:

    JavaScript
    {
        "action": "updateDnsRecords",
        "clientrequestid": "acmeChallenge",
        "longmessage": "The DNS records are not in valid format.",
        "responsedata": "",
        "serverrequestid": "YWZQ0Bohz0NX=MBFt",
        "shortmessage": "Update of DNS records failed",
        "status": "error",
        "statuscode": 4018
    }


    Wie man sieht, habe ich bereits ein Problem behoben, welches mit der ID bestand - diese wurde als `String` statt als `int` interpretiert. Ein (geschwärztes) Besipiel für einen Record:


    JavaScript
    {
        "deleterecord": false,
        "destination": "192.168.1.1",
        "hostname": "@",
        "id": 29202084,
        "priority": "0",
        "state": "yes",
        "type": "A"
    }


    Weiß jemand, woran das liegt? Laut Doku müsste alles stimmen, aber vielleicht habe ich etwas übersehen.

  • Ich habe das selbe Problem. Ich versuche die DNS Automatisierung für Cloudron zu bauen und dabei habe ich nun schon alle möglichen DNS record Kombinationen probiert. Immer mit dem gleichen "The DNS records are not in valid format." Fehler.


    Es ist für mich auch nicht ganz ersichtlich von der Dokumentation, ob man immer alle DNS Einträge mit jedem "updateDnsRecords" Aufruf angeben muss oder nur die, welche geändert werden sollen.


    Unabhängig davon allerdings, selbst mit einer leeren Zone, finde ich nicht die richtig Kombination an JSON properties um nur einen einfach A record anzulegen. Wäre gut wenn jemand ein erfolgreiches Beispiel posten könnte.


    Danke.

  • Ok zumindes bei mir habe ich nun den Fehler gefunden. Es ging überhaupt nicht einfach aus der Dokumentation unter https://ccp.netcup.net/run/web…endpoint.php#Dnsrecordset hervor. Das Problem war nicht der record an sich, sondern das zusätzliche property dnsrecords


    Soweit ich das vom PHP code her gelesen habe, fehlt auch dort dieses.