OVH Community, votre nouvel espace communautaire.

[How-To] Création Automatique du DNS Secondaire


dmeziere
03/04/2007, 20h30
Salut !

Elle a l'air sympa cette fonctionnalité mais jhe trouve que sa mise en place manque d'explications. Dans quel cadre ce script est-il lancé ? cron ? manuellement ?

Spcnet
22/01/2007, 23h35
Bonjour à tous,

Vu que je n'ai rien trouvé à ce sujet dans le forum, je poste ici la solution pour créer de manière automatique un domaine dans le DNS Secondaire (ns.ovh.net).
Je ne connaissais absolument pas l'API du Manager et je trouve ca formidable et très simple pour les revendeurs.

Code:
#!/usr/bin/perl -w
use SOAP::Lite;

my $nbarg=@ARGV;
my $Domain;
my $Action;
if ($nbarg == 4) {
        $arg = shift;
        if ($arg eq "-domain") {
                $Domain = shift;
                $arg = shift;
                if ($arg eq "-action") {
                        $Action = shift;
                } else { die "USAGE : -domain DomainName -action Action_Type\nAction_Type : Create or Delete\n"; }
        } else { die "USAGE : -domain DomainName -action Action_Type\nAction_Type : Create or Delete\n"; }
} else { die "USAGE : -domain DomainName -action Action_Type\nAction_Type : Create or Delete\n"; }
my $soap = SOAP::Lite -> uri('/manager') -> proxy('http://ovh.com:1663');
my %Info;
$Info{nic} = "psXXXX-ovh";
$Info{password} = "XXXXXXXXXX";
my $result = $soap -> Login(\%Info);
print "Trying to connect with ".$Info{nic}."\n";
unless ($result->fault) {
        my $res = $result->result();
        print "Session : ".$res->{value}."\n";
        my $SOAPID = $res->{value};
        my %Domain;
        $Domain{hostname} = "nsXXXX.ovh.net";
        $Domain{ip} = "XXX.XXX.XXX.XXX";
        $Domain{domain} = $Domain;
        if ($Action eq "Create") {
                $soap -> DedicatedSecondaryDNSCreate($SOAPID,\%Domain);
        } else {
                if ($Action eq "Delete") {
                        $soap -> DedicatedSecondaryDNSDelete($SOAPID,\%Domain);
                } else { print "USAGE : -domain DomainName -action Action_Type\nAction_Type : Create or Delete\n"; }
        }
        $soap ->Logout($SOAPID);
} else {
        print "Error : ".$result->faultcode." -> ".$result->faultstring."\n";
}
Voila le script de base, à vous de l'améliorer en fonction de vos besoins. Je l'ai fais en Perl car cela m'arrange mais vous pouvez aussi le faire en PHP.
Si vous voulez verifier que le domaine existe avant de la Creer/supprimer, vous pouvez utiliser soit
DedicatedSecondaryDNSGetInfo($info{hostname},$info {ip}) ou DedicatedSecondaryDNSGetAll($info{hostname})