IBM Cloud Docs
Gestion des enregistrements DNS

Gestion des enregistrements DNS

Les enregistrements DNS établissent un lien entre des noms lisibles et des adresses IP. La gestion des enregistrements DNS est traitée dans les sections suivantes. Gérer les enregistrements DNS à l'aide de l'interface utilisateur, de la CLI ou de l'API.

Ajouter des enregistrements DNS dans la console

  1. Dans le tableau Zones DNS, cliquez sur le nom de la zone à laquelle vous souhaitez ajouter des enregistrements. Vous obtenez davantage de détails sur la zone sélectionnée.
  2. Cliquez sur Ajouter un enregistrement pour ouvrir un panneau dans lequel vous pourrez créer un enregistrement.

Vous pouvez utiliser le menu Type pour sélectionner le type d'enregistrement que vous souhaitez créer. Chaque type d'enregistrement DNS est associé à une zone de durée de vie (TTL).

Lorsque vous entrez un nom dans le champ Nom, un nom de domaine est automatiquement ajouté à sa suite si vous ne l'avez pas fait vous-même. Par exemple, si vous tapez www ou www.example.com dans le champ Nom, l'API traitera l'entrée comme www.example.com dans les deux cas. Si vous entrez le nom de domaine exact dans le champ Nom, rien ne sera ajouté à sa suite (par exemple, si vous tapez example.com, l'entrée restera example.com). La liste des enregistrements DNS affichera uniquement les noms que vous entrez, sans que le nom de domaine ne soit ajouté à la suite. Ainsi, www.example.com sera affiché comme www et example.com comme example.com.

La valeur minimale de durée de vie (TTL) prise en charge est de 1 min et la valeur maximale de 12 hours. La valeur par défaut de TTL est de 15 min, mais vous pouvez spécifier une autre valeur à la place.

Ajouter un enregistrement de type A dans la console

Pour ajouter ce type d'enregistrement, les zones Nom et Adresse IPv4 doivent posséder des valeurs valides. Spécifiez également une durée de vie dans le menu TTL, la valeur 15 min étant présélectionnée.

Zones requises

  • Nom
  • Adresse IPv4
  • TTL (15 minutes, par défaut)

Ajouter un enregistrement de type AAAA dans la console

Pour ajouter ce type d'enregistrement, les zones Nom et Adresse IPv6 doivent posséder valeurs valides. Spécifiez également une durée de vie dans le menu TTL, la valeur 15 min étant présélectionnée.

Zones requises

  • Nom
  • Adresse IPv6
  • TTL (15 minutes, par défaut)

Ajouter un enregistrement de type CNAME dans la console

Pour que ce type d'enregistrement puisse être ajouté, une valeur valide doit être spécifiée dans le champ Nom et un nom de domaine complet (FQDN) doit figurer dans le champ Cible. Il est aussi possible de spécifier une durée de vie dans le menu TTL, la valeur 15 min étant présélectionnée.

Zones requises

  • Nom
  • Cible (pour un enregistrement CNAME)
  • TTL (15 minutes, par défaut)

Ajouter un enregistrement de type MX dans la console

Pour que ce type d'enregistrement puisse être ajouté, une valeur valide doit être spécifiée dans le champ Nom et un nom de domaine complet (FQDN) doit figurer dans le champ Serveur de courrier. Le champ Priorité doit aussi contenir un nombre valide. Spécifiez également une durée de vie dans le menu TTL, la valeur 15 min étant présélectionnée.

Zones requises

  • Nom
  • Serveur de messagerie
  • TTL (15 minutes, par défaut)
  • Priorité (1, par défaut)

Ajouter un enregistrement de type PTR dans la console

Pour que ce type d'enregistrement puisse être ajouté, vous devez disposer d'un enregistrement A ou AAAA existant qui ne soit pas déjà associé à un autre enregistrement PTR. Sélectionnez un enregistrement existant dans la liste. Spécifiez également une durée de vie dans le menu TTL, la valeur 15 min étant présélectionnée.

Zones requises

  • Sélectionner un enregistrement existant
  • TTL (15 minutes, par défaut)

Ajouter un enregistrement de type SRV dans la console

Pour que ce type d'enregistrement puisse être ajouté, des valeurs valides doivent être spécifiées dans les champs Nom, Nom de service et Cible. Utilisez le menu de liste pour sélectionner un protocole (la valeur par défaut est UDP). Vous pouvez également indiquer une priorité, un poids et un port. La valeur par défaut de ces trois zones est 1. Spécifiez également une durée de vie dans le menu TTL, la valeur 15 min étant présélectionnée.

Zones requises

  • Nom
  • Nom du service
  • Cible
  • TTL (15 minutes, par défaut)
  • Protocole (UDP, par défaut)
  • Priorité (1, par défaut)
  • Poids (1, par défaut)
  • Port (1, par défaut)

Ajouter un enregistrement de type TXT dans la console

Pour ajouter ce type d'enregistrement, les zones Nom et Contenu doivent posséder des valeurs valides. Spécifiez également une durée de vie dans le menu TTL, la valeur 15 min étant présélectionnée.

Pour des raisons de sécurité et de confidentialité, il est recommandé de ne pas utiliser les enregistrements de type TXT pour les données sensibles et confidentielles.

Zones requises

  • Nom
  • de contenu
  • TTL (15 minutes, par défaut)

Mise à jour des enregistrements DNS dans la console

Chaque enregistrement occupe une ligne du tableau. Sur chaque ligne figure une icône Editer. Cliquez sur celle-ci pour ouvrir un panneau dans lequel vous pourrez mettre à jour l'enregistrement.

Supprimer des enregistrements DNS dans la console

Chaque enregistrement occupe une ligne du tableau. Sur chaque ligne figure une icône Supprimer. Cliquez sur celle-ci pour supprimer l'enregistrement (un panneau s'ouvrira pour vous demander de confirmer votre choix).

Importer des enregistrements de ressources dans la console

Pour importer des enregistrements de ressource, procédez comme suit:

  1. Dans votre instance DNS Services, sélectionnez la zone dans laquelle vous souhaitez importer des enregistrements

  2. Cliquez sur Sélectionner une action d'enregistrement dans la section des détails de zone et choisissez Importer des enregistrements

  3. Vous pouvez faire glisser le fichier d'importation dans le panneau qui s'affiche ou cliquer sur le lien à télécharger à partir de votre ordinateur

    Les fichiers d'importation doivent être au format texte brut et ne doivent pas dépasser 8 Mo

  4. Cliquez sur Importer des enregistrements

Votre fichier d'importation doit respecter l'exemple de format suivant:

www.test.com.  900 IN  A   127.0.0.1
www.test.com.  900 IN  AAAA    ::1
w3.test.com.   900 IN  CNAME   mydomain.com.
www.test.com.  900 IN  MX  1 mail.example.com.
_service._tcp.www.sample.com.   900 IN  SRV 1 1 1 mydomain.com.
www.test.com.  900 IN  TXT "my content"

Une fois les enregistrements importés, vous pouvez consulter les détails du statut d'importation, y compris le nombre de fichiers téléchargés avec succès et les enregistrements qui n'ont pas pu être téléchargés. Si vous devez télécharger des fichiers supplémentaires, cliquez sur Télécharger d'autres fichiers et répétez les étapes d'importation. Cliquez sur l'icône X en haut à droite du panneau pour fermer le panneau d'importation.

Exporter des enregistrements de ressources dans la console

Pour exporter des enregistrements de ressources, procédez comme suit :

  1. A partir de votre instance DNS Services, sélectionnez la zone à partir de laquelle vous souhaitez exporter des enregistrements
  2. Cliquez sur Sélectionner une action d'enregistrement dans la section des détails de zone et choisissez Exporter les enregistrements
  3. Entrez un nom pour votre fichier exporté ou acceptez le nom par défaut de records.txt
  4. Cliquez sur Télécharger

Le fichier exporté est téléchargé vers l'emplacement de téléchargement par défaut spécifié par votre navigateur.

Gérer les reconfigurations DNS à partir de l'interface de gestion

Utilisez d'abord la commande ibmcloud dns instance-target pour définir l'instance DNS Services opérationnelle de la cible.

$ ibmcloud dns instances
Retrieving service instances for service 'dns-svcs' ...
OK

Name                 ID                                     Location   State    Service Name
DNS Services-km      ffffffff-b042-41fd-885e-000000000000   global     active   dns-svcs

$ ibmcloud dns instance-target "DNS Services-km"

Stockez l'ID de la zone dans une variable afin de pouvoir l'utiliser dans les commandes suivantes sans avoir à le saisir à chaque fois. Par exemple, pour stocker l'ID de zone dans une variable, exécutez cette commande :

DNS_ZONE_ID="example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae"

Créer un enregistrement de ressource de type " A à partir de l'interface de programmation

Utilisez la commande ibmcloud dns resource-record-create avec l'option --type A pour créer un enregistrement de ressource de type A . --nameet --ipv4 sont les options obligatoires.

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type A --name www --ipv4 192.168.1.100
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID            A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6
Name          www.example.com
Type          A
Created On    2020-04-10 09:12:07.858707275 +0000 UTC
Modified On   2020-04-10 09:12:07.858707275 +0000 UTC
TTL           900
Data
    ip        192.168.1.100

Créer un enregistrement de ressource de type "SRV" à partir de l'interface de programmation

Utilisez la commande ibmcloud dns resource-record-create avec l'option --type SRV pour créer un enregistrement de ressource de type SRV . --name, --service, --protocolet --target sont les options obligatoires.

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type SRV --name video --service _sip --protocol tcp --priority 10 --weight 10 --port 953 --target media.example.com
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID             SRV:c7c8938b-87c7-4aee-95fa-63f28452c8d4
Name           _sip._tcp.video.example.com
Type           SRV
Created On     2020-04-10 09:15:56.940189115 +0000 UTC
Modified On    2020-04-10 09:15:56.940189115 +0000 UTC
TTL            900
Data
    port       953
    priority   10
    target     media.example.com
    weight     10

Créer un enregistrement de ressource de type "TXT" à partir de l'interface de programmation

Utilisez la commande ibmcloud dns resource-record-create avec l'option --type TXT pour créer un enregistrement de ressource de type TXT . --name et --text sont des options obligatoires.

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type TXT --name text --text "This is a text record."
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID            TXT:92648285-c7e5-49ef-bf8b-a5be91d5c5d3
Name          text.example.com
Type          TXT
Created On    2020-04-10 09:16:50.169135062 +0000 UTC
Modified On   2020-04-10 09:16:50.169135062 +0000 UTC
TTL           900
Data
    text      This is a text record.

Créer un enregistrement de ressource de type "MX" à partir de l'interface de programmation

Utilisez la commande ibmcloud dns resource-record-create avec l'option --type MX pour créer un enregistrement de ressource de type MX . --name et --exchange sont les options obligatoires.

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type MX --name mail --preference 10 --exchange exchange.example.com
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID               MX:900750bf-881d-402f-a482-20447f2e64a2
Name             mail.example.com
Type             MX
Created On       2020-04-10 09:18:08.299278244 +0000 UTC
Modified On      2020-04-10 09:18:08.299278244 +0000 UTC
TTL              900
Data
    preference   10
    exchange     exchange.example.com

Créer un enregistrement de ressource de type "PTR" à partir de la CLI

Utilisez la commande ibmcloud dns resource-record-create avec l'option --type PTR pour créer un enregistrement de ressource de type PTR . --name et --ptrdname sont les options obligatoires.

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type PTR --name 192.168.1.100 --ptrdname www.example.com
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID             PTR:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6
Name           192.168.1.100
Type           PTR
Created On     2020-04-10 09:34:49.722454606 +0000 UTC
Modified On    2020-04-10 09:34:49.722454606 +0000 UTC
TTL            900
Data
    ptrdname   www.example.com

Créer un enregistrement de ressource de type "CNAME" à partir de l'interface de programmation

Utilisez la commande ibmcloud dns resource-record-create avec l'option --type CNAME pour créer un enregistrement de ressource de type CNAME . --name et --cname sont des options obligatoires.

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type CNAME --name web --cname www.example.com
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID            CNAME:6e80f079-effd-409a-a520-b8c1b10f6e6e
Name          web.example.com
Type          CNAME
Created On    2020-04-10 09:36:13.186040793 +0000 UTC
Modified On   2020-04-10 09:36:13.186040793 +0000 UTC
TTL           900
Data
    cname     www.example.com

Créer un enregistrement de ressource de type "AAAA" à partir de l'interface de programmation

Utilisez la commande ibmcloud dns resource-record-create avec l'option --type AAAA pour créer un enregistrement de ressource de type AAAA . --name et --ipv6 sont des options obligatoires.

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type AAAA --name www --ipv6 2019::2020
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID            AAAA:37e1e701-e549-4ca1-8c22-86574bf4aaed
Name          www.example.com
Type          AAAA
Created On    2020-04-10 09:37:15.063814601 +0000 UTC
Modified On   2020-04-10 09:37:15.063814601 +0000 UTC
TTL           900
Data
    ip        2019::2020

Obtenir un enregistrement de ressource à partir de l'interface de programmation

Utilisez la commande ibmcloud dns resource-record suivie de l'ID de zone et de l'ID d'enregistrement de ressource pour obtenir les détails d'un enregistrement de ressource.

$ ibmcloud dns resource-record $DNS_ZONE_ID A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6
Getting resource record 'A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6' in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID            A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6
Name          www.example.com
Type          A
Created On    2020-04-10 09:12:07.858707275 +0000 UTC
Modified On   2020-04-10 09:34:49.986883927 +0000 UTC
TTL           900
Data
    ip        192.168.1.100

Lister les enregistrements de ressources à partir de l'interface de programmation

Utilisez la commande ibmcloud dns resource-records suivie de l'ID de zone pour répertorier tous les enregistrements de ressource.

$ ibmcloud dns resource-records $DNS_ZONE_ID
Listing resource records in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK
ID                                           Name                          Type    TTL
AAAA:37e1e701-e549-4ca1-8c22-86574bf4aaed    www.example.com               AAAA    900
CNAME:6e80f079-effd-409a-a520-b8c1b10f6e6e   web.example.com               CNAME   900
MX:900750bf-881d-402f-a482-20447f2e64a2      mail.example.com              MX      900
TXT:92648285-c7e5-49ef-bf8b-a5be91d5c5d3     text.example.com              TXT     900
SRV:c7c8938b-87c7-4aee-95fa-63f28452c8d4     _sip._tcp.video.example.com   SRV     900
A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6       www.example.com               A       900
PTR:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6     192.168.1.100                 PTR     900

Mettre à jour un enregistrement de ressource à partir de l'interface de programmation

Utilisez la commande ibmcloud dns resource-record-update suivie de l'ID de zone et de l'ID d'enregistrement de ressource pour mettre à jour un enregistrement de ressource.

$ ibmcloud dns resource-record-update $DNS_ZONE_ID A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6 --name www --ipv4 10.10.1.1
Updating resource record 'A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6' in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID            A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6
Name          www.example.com
Type          A
Created On    2020-04-10 09:12:07.858707275 +0000 UTC
Modified On   2020-04-10 09:40:55.204076727 +0000 UTC
TTL           900
Data
    ip        10.10.1.1

Supprimer un enregistrement de ressource à partir de l'interface de gestion

Utilisez la commande ibmcloud dns resource-record-delete suivie de l'ID de zone et de l'ID d'enregistrement de ressource pour supprimer un enregistrement de ressource.

$ ibmcloud dns resource-record-delete $DNS_ZONE_ID PTR:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6
Really delete resource record 'PTR:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6' in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km'? [y/N]> y
Deleting resource record 'PTR:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6' in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

Gérer les enregistrements DNS avec l'API

Stockez d'abord le point d'extrémité de l'API dans une variable afin de pouvoir l'utiliser dans les demandes d'API sans avoir à taper à chaque fois l'URL complète. Par exemple, pour stocker le point d'extrémité de production dans une variable, exécutez cette commande :

DNSSVCS_ENDPOINT=https://api.dns-svcs.cloud.ibm.com

Pour vérifier que cette variable a été enregistrée, exécutez echo $DNSSVCS_ENDPOINT et assurez-vous que la réponse ne soit pas vide.

Créer un enregistrement de ressource de type " A avec l'API

Demande

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "name":"www.example.com",
    "type":"A",
    "rdata": {
            "ip":"1.2.6.7"
        },
    "ttl":300
}'

Réponse

{
    "id": "fa57d5d0-7729-4770-af27-6d7f8dce860c",
    "created_on": "2019-08-12 08:03:03.910471016 +0000 UTC",
    "modified_on": "2019-08-12 08:03:03.910471016 +0000 UTC",
    "rtype": "A",
    "ttl": 300,
    "name": "www.example.com",
    "id": "A:fa57d5d0-7729-4770-af27-6d7f8dce860c",
    "rdata": {
        "ip": "1.2.6.7"
    }
}

Créer un enregistrement de ressource de type "SRV" avec l'API

Demande

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "type": "SRV",
    "name": "example.com",
    "service": "srv",
    "protocol": "udp",
    "rdata": {
        "priority": 100,
        "weight": 100,
        "port": 8000,
        "target": "siphost.com"
    }
}'

Réponse

{
    "created_on": "2019-08-16 08:07:41.113606 +0000 UTC",
    "modified_on": "2019-08-16 08:07:41.113606 +0000 UTC",
    "rtype": "SRV",
    "ttl": 60,
    "name": "example.com",
    "id": "SRV:7562b1f9-1a6a-4189-b794-dd84c91d6a28",
    "rdata": {
        "priority": 100,
        "weight": 100,
        "port": 8000,
        "target": "siphost.com"
    },
    "service": "srv",
    "protocol": "udp"
}

Créer un enregistrement de ressource de type "TXT" avec l'API

Demande

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "type": "TXT",
    "name": "txt.example.com",
    "rdata": {
        "txtdata": "txt strings"
    }
}'

Réponse

{
    "created_on": "2019-08-16 08:15:53.360664 +0000 UTC",
    "modified_on": "2019-08-16 08:15:53.360664 +0000 UTC",
    "rtype": "TXT",
    "ttl": 60,
    "name": "txt.example.com",
    "id": "TXT:c6221d5f-69d7-4717-9951-4f69b2680fd4",
    "rdata": {
        "txtdata": "txt strings"
    }
}

Créer un enregistrement de ressource de type "MX" avec l'API

Demande

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "type": "MX",
    "name": "mx1.example.com",
    "rdata": {
        "exchange": "mailserver.example.com",
        "preference": 10
    }
}'

Réponse

{
    "created_on": "2019-08-16 08:21:20.308716 +0000 UTC",
    "modified_on": "2019-08-16 08:21:20.308716 +0000 UTC",
    "rtype": "MX",
    "ttl": 60,
    "name": "mx1.example.com",
    "id": "MX:8e1b201e-00dd-46a0-a3ec-46573f908870",
    "rdata": {
        "preference": 10,
        "exchange": "mailserver.example.com"
    }
}

Créer un enregistrement de ressource de type "PTR" avec l'API

Demande

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "type": "PTR",
    "name": "192.168.10.100",
    "rdata": {
       "ptrdname": "www1.example.com"
    }
}'

Réponse

{
    "created_on": "2019-08-30 06:48:16.971764628 +0000 UTC",
    "modified_on": "2019-08-30 06:48:16.971764628 +0000 UTC",
    "rtype": "PTR",
    "ttl": 60,
    "name": "100.10.168.192.in-addr.arpa",
    "id": "PTR:a47dd63a-e65a-4280-8f53-3cdb433cc78a",
    "rdata": {
        "ptrdname": "www1.example.com"
    }
}

Créer un enregistrement de ressource de type "CNAME" avec l'API

Demande

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "type": "CNAME",
    "name": "cname.example.com",
    "rdata": {
       "cname": "clientinterface.com"
    }
}'

Réponse

{
    "created_on": "2019-08-16 08:29:36.710416 +0000 UTC",
    "modified_on": "2019-08-16 08:29:36.710416 +0000 UTC",
    "rtype": "CNAME",
    "ttl": 60,
    "name": "cname.example.com",
    "id": "CNAME:c95916ba-5504-499a-943a-21f5befe92b5",
    "rdata": {
        "cname": "clientinterface.com"
    }
}

Création d'un enregistrement de ressource de type "AAAA" avec l'API

Demande

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "type": "AAAA",
    "name": "test.example.com",
    "rdata": {
       "ip": "8000::2000"
    }
}'

Réponse

{
    "created_on": "2019-08-16 08:34:38.311539 +0000 UTC",
    "modified_on": "2019-08-16 08:34:38.311539 +0000 UTC",
    "rtype": "AAAA",
    "ttl": 60,
    "name": "test.example.com",
    "id": "AAAA:894e165b-f066-434d-9b58-4afc2dca62c9",
    "rdata": {
        "ip": "8000::2000"
    }
}

Obtenir un enregistrement de ressource avec l'API

Demande

curl -X GET \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records/$RECORD_ID \
  -H "Authorization: $TOKEN"

Réponse

{
    "created_on": "2019-08-12 08:03:03.910471016 +0000 UTC",
    "modified_on": "2019-08-12 08:03:32.875065176 +0000 UTC",
    "rtype": "A",
    "ttl": 300,
    "name": "www.example.com",
    "id": "A:fa57d5d0-7729-4770-af27-6d7f8dce860c",
    "rdata": {
        "ip": "9.4.6.7"
    }
}

Lister les enregistrements de ressources avec l'API

Demande

curl -X GET \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records?limit=50&offset=0 \
  -H "Authorization: $TOKEN"

Réponse

{
    "offset": 0,
    "limit": 50,
    "total_count": 1,
    "first": {
      "href": "https://api.dns-svcs.cloud.ibm.com/v1/instances/ec0c4ee2-5d1f-4066-bcf2-dc9f3122c638/dnszones/example.com:4759caa4-d4fa-4fb9-7848-f463de19b392/resource_records?limit=50"
    },
    "resource_records": [
        {
            "created_on": "2019-08-30 04:10:25.092468565 +0000 UTC",
            "modified_on": "2019-08-30 04:10:25.092468565 +0000 UTC",
            "rtype": "A",
            "ttl": 60,
            "name": "www.example.com",
            "id": "A:ec0c4ee2-5d1f-4066-bcf2-dc9f3122c639",
            "rdata": {
                "ip": "192.168.10.100"
            }
        }
    ]
}

Mettre à jour un enregistrement de ressource avec l'API

Demande

curl -X PUT \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records/$RECORD_ID \
  -H "Authorization: $TOKEN" \
  -d '{
    "name":"www",
    "rdata": {
            "ip":"7.7.7.7"
        },
    "ttl":300
}'

Réponse

{
    "created_on":"2019-09-10 20:03:25.249355942 +0000 UTC",
    "modified_on":"2019-09-11 16:13:17.350043736 +0000 UTC",
    "rtype":"A",
    "ttl":300,
    "name":"www",
    "id":"A:139eb9f3-c646-4eb6-92fa-3ddabfb1b84f",
    "rdata":{
        "ip":"7.7.7.7"
    }
}

Supprimer un enregistrement de ressource avec l'API

Demande

curl -X DELETE \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records/$RECORD_ID \
  -H "Authorization: $TOKEN"

Réponse

HTTP 204 is returned, no content in response.

Importer en masse des enregistrements de ressources à partir d'un fichier de zone DNS à l'aide de l'API

Demande

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/import_resource_records --form "file=@./bind.cfg" \
  -H "Authorization: $TOKEN"

Réponse

{
    "total_records_parsed": 17,
    "records_added": 17,
    "records_failed": 0,
    "records_added_by_type": {
        "A": 10,
        "AAAA": 2,
        "CNAME": 4,
        "SRV": 0,
        "TXT": 0,
        "MX": 0,
        "PTR": 1
    },
    "records_failed_by_type": {
        "A": 0,
        "AAAA": 0,
        "CNAME": 0,
        "SRV": 0,
        "TXT": 0,
        "MX": 0,
        "PTR": 0
    },
    "message": null,
    "errors": null
}

Exporter des enregistrements de ressources en vrac vers un fichier de zone DNS à l'aide de l'API

Demande

curl -X GET \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/export_resource_records -o dns_records.cfg \
  -H "Authorization: $TOKEN"

Réponse

HTTP 200 is returned with zone file content in byte format