class

OvhApi::Endpoints::Domains

Inherits Reference < Object

Endpoints /domain/zone/{zoneName}/... — gestion des enregistrements DNS d'une zone hébergée chez OVH.

Les modifications sur une zone passent par un cycle :

  1. créer / modifier / supprimer des records (records, create_record, update_record, delete_record)
  2. refresh(zone) pour propager les changements

Sans refresh, les modifications restent dans la DB OVH mais ne sont pas publiées aux serveurs DNS.

Constructors

new(client : OvhApi::Client)
Source

Instance methods

create_record(zone : String, field_type : String, sub_domain : String, target : String, ttl : Int32 | Nil = nil) : DomainRecord

Crée un record dans la zone.

POST /domain/zone/{zone}/record avec {fieldType, subDomain, target, ttl?}.

Le record n'est publié qu'après un refresh(zone).

Source
delete_record(zone : String, id : Int64 | Int32) : Nil

Supprime un record.

DELETE /domain/zone/{zone}/record/{id}.

Source
ensure_record(zone : String, field_type : String, sub_domain : String, target : String, ttl : Int32 | Nil = nil) : DomainRecord

Idempotent : s'assure qu'un record (field_type, sub_domain) pointe bien sur target. Crée s'il n'existe pas, update si la cible diffère, ne fait rien sinon. Retourne le record final.

Utile pour automatiser la mise en place d'un A/AAAA/CNAME sans avoir à gérer manuellement le cycle de vie (ajout/mise à jour/dédup).

Source
record(zone : String, id : Int64 | Int32) : DomainRecord

Détail d'un record (subDomain, fieldType, target, ttl, id).

GET /domain/zone/{zone}/record/{id} → OvhApi::DomainRecord.

Source
records(zone : String, field_type : String | Nil = nil, sub_domain : String | Nil = nil) : Array(Int64)

Liste tous les records d'une zone, optionnellement filtrés par type de champ (A, AAAA, CNAME, MX…) et/ou par sous-domaine.

GET /domain/zone/{zone}/record → array d'IDs (Int64) que l'on peut ensuite passer à record/1 pour récupérer les détails.

Source
refresh(zone : String) : Nil

Propage les modifications récentes sur la zone aux serveurs DNS. À appeler après un create/update/delete de record.

POST /domain/zone/{zone}/refresh.

Source
update_record(zone : String, id : Int64 | Int32, sub_domain : String | Nil = nil, target : String | Nil = nil, ttl : Int32 | Nil = nil) : Nil

Modifie un record existant.

PUT /domain/zone/{zone}/record/{id} avec {subDomain?, target?, ttl?}.

Le fieldType d'un record ne se change pas (il faut créer un nouveau record et supprimer l'ancien). Les champs non fournis conservent leur valeur.

Source