Net::E...Domain(3pm)
π Net::EPP::Frame::Command::Create::Domain β the perl manpage but make it cute π
okay so bestie, welcome to Net::EPP::Frame::Command::Create::Domain from the Net::EPP::Frame::Command::Create family, and yes it is exactly what it sounds like: it's an instance of Net::EPP::Frame::Command::Create but for domain objects specifically. it's giving "i make new domains exist" energy. β¨
π NAME π
Net::EPP::Frame::Command::Create::Domain β an instance of Net::EPP::Frame::Command::Create for domain objects. that's the whole vibe. π¦
πΈ SYNOPSIS πΈ
okay so here's the little ritual you do:
use Net::EPP::Frame::Command::Create::Domain;
use strict;
my $create = Net::EPP::Frame::Command::Create::Domain->new;
$create->setDomain('example.uk.com);
print $create->toString(1);
and the way that this just works?? it results in an XML document like this:
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
epp-1.0.xsd">
<command>
<check>
<domain:create
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"
xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0
contact-1.0.xsd">
<domain:name>example-1.tldE<lt>/domain:name>
</domain:create>
</check>
<clTRID>0cf1b8f7e14547d26f03b7641660c641d9e79f45</clTRIDE<gt>
</command>
</epp>
no cap, that's the output. π₯
π OBJECT HIERARCHY π
the family tree, the lineage, the ancestry dot com moment:
L<XML::LibXML::Node>
+----L<XML::LibXML::Document>
+----L<Net::EPP::Frame>
+----L<Net::EPP::Frame::Command>
+----L<Net::EPP::Frame::Command::Create>
+----L<Net::EPP::Frame::Command::Create::Domain>
look at her, four levels deep in the inheritance chain, thriving. π
β¨ METHODS β¨
π setDomain
my $element = $frame->setDomain($domain_name);
this one sets the name of the object that's about to be created. and it returns the "<domain:name>" element. so you get the element back. cute, right? π«Ά
π§ setPeriod
$frame->setPeriod(1, 'y');
sets the initial registration period. the second argument is optional, bestie β you don't gotta pass it if you don't wanna.
π setRegistrant
$frame->setRegistrant($id);
sets the registrant. that's it. that's the whole job. iconic. β
π setContacts
$frame->setContacts({
'admin' => 'H12345',
'tech' => 'H54321',
'billing' => 'H23451',
}));
sets the contacts. all three of them, in one little hashref, all matching the vibe. π
π« TTL Extension π«
$frame->setTTLs({
NS => 3600,
DS => 900,
});
this lets you specify TTLs for DNS records above the zone cut. πΈ
β οΈ heads up bestie: the server must support the TTL extension. if it doesn't, this is not gonna slay, it's gonna flop. so vibe check your server first. π
and that's the whole page, bestie β every method, every arg, every default, all present and accounted for, periodt. π
this gorgeous little document was brought to you by perl v5.40.1, dated 2025-04-19 β mwah, thanks for coming to my ted talk, ily, bye πβ¨π¦
π¦ where this page comes from
- debian trixie: libnet-epp-perl 0.28-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libnet-epp-perl 0.28-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libnet-epp-perl 0.28-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms