NAME
WWW::LogicBoxes::Role::Command::Domain - Domain Related Operations
SYNOPSIS
use WWW::LogicBoxes;
use WWW::LogicBoxes::Contact;
use WWW::LogicBoxes::Domain;
my $logic_boxes = WWW::LogicBoxes->new( ... );
# Retrieval
my $domain = $logic_boxes->get_domain_by_id( 42 );
my $domain = $logic_boxes->get_domain_by_domain( 'test-domain.com' );
# Update Contacts
my $contacts = {
registrant_contact => WWW::LogicBoxes::Contact->new( ... ),
admin_contact => WWW::LogicBoxes::Contact->new( ... ),
technical_contact => WWW::LogicBoxes::Contact->new( ... ),
billing_contact => WWW::LogicBoxes::Contact->new( ... ),
};
$logic_boxes->update_domain_contacts(
id => $domain->id,
registrant_contact_id => $contacts->{registrant_contact}->id,
admin_contact_id => $contacts->{admin_contact}->id,
technical_contact_id => $contacts->{technical_contact}->id,
billing_contact_id => $contacts->{billing_contact}->id,
);
# Domain Locking
$logic_boxes->enable_domain_lock_by_id( $domain->id );
$logic_boxes->disable_domain_lock_by_id( $domain->id );
# Domain Privacy
$logic_boxes->enable_domain_privacy(
id => $domain->id,
reason => 'Enabling Domain Privacy',
);
$logic_boxes->disable_domain_privacy(
id => $domain->id,
reason => 'Disabling Domain Privacy',
);
# Nameservers
$logic_boxes->update_domain_nameservers(
id => $domain->id,
nameservers => [ 'ns1.logicboxes.com', 'ns1.logicboxes.com' ],
);
REQUIRES
submit
DESCRIPTION
Implements domain related operations with the LogicBoxes's API.
See Also
- For Domain Registration please see WWW::LogicBoxes::Role::Command::Domain::Registration
- For Domain Availability please see WWW::LogicBoxes::Role::Command::Domain::Availability
- For Private Nameservers please see WWW::LogicBoxes::Role::Command::Domain::PrivateNameServer
METHODS
get_domain_by_id
use WWW::LogicBoxes;
use WWW::LogicBoxes::Domain;
my $logic_boxes = WWW::LogicBoxes->new( ... );
my $domain = $logic_boxes->get_domain_by_id( 42 );
Given a Integer domain id, returns a matching WWW::LogicBoxes::Domain from LogicBoxes. In the event of no matching domain, returns undef.
NOTE For domain transfers that are in progress a domain_transfer record will be returned.
get_domain_by_name
use WWW::LogicBoxes;
use WWW::LogicBoxes::Domain;
my $logic_boxes = WWW::LogicBoxes->new( ... );
my $domain = $logic_boxes->get_domain_by_domain( 'test-domain.com' );
Given a full domain name, returns a matching WWW::LogicBoxes::Domain from LogicBoxes. In the event of no matching domain, returns undef,
NOTE For domain transfers that are in progress a domain_transfer record will be returned.
update_domain_contacts
use WWW::LogicBoxes;
use WWW::LogicBoxes::Contact;
use WWW::LogicBoxes::Domain;
my $logic_boxes = WWW::LogicBoxes->new( ... );
# Update Contacts
my $contacts = {
registrant_contact => WWW::LogicBoxes::Contact->new( ... ),
admin_contact => WWW::LogicBoxes::Contact->new( ... ),
technical_contact => WWW::LogicBoxes::Contact->new( ... ),
billing_contact => WWW::LogicBoxes::Contact->new( ... ),
};
$logic_boxes->update_domain_contacts(
id => $domain->id,
registrant_contact_id => $contacts->{registrant_contact}->id,
admin_contact_id => $contacts->{admin_contact}->id,
technical_contact_id => $contacts->{technical_contact}->id,
billing_contact_id => $contacts->{billing_contact}->id,
);
Given a domain id and optionally a contact id for registrant_contact_id, admin_contact_id, technical_contact_id, and/or billing_contact_id, updates the domain contacts. This method is smart enough to not request a change if the contact hasn't been updated and consumers need only specify the elements that are changing.
enable_domain_lock_by_id
use WWW::LogicBoxes;
use WWW::LogicBoxes::Domain;
my $logic_boxes = WWW::LogicBoxes->new( ... );
$logic_boxes->enable_domain_lock_by_id( $domain->id );
Given an Integer domain id, locks the domain so that it can not be transfered away.
disable_domain_lock_by_id
use WWW::LogicBoxes;
use WWW::LogicBoxes::Domain;
my $logic_boxes = WWW::LogicBoxes->new( ... );
$logic_boxes->disable_domain_lock_by_id( $domain->id );
Given an Integer domain id, unlocks the domain so that it can be transfered away.
enable_domain_privacy
use WWW::LogicBoxes;
use WWW::LogicBoxes::Domain;
my $logic_boxes = WWW::LogicBoxes->new( ... );
$logic_boxes->enable_domain_privacy(
id => $domain->id,
reason => 'Enabling Domain Privacy',
);
Given an Integer domain id and an optional reason ( defaults to "Enabling Domain Privacy" ), enables WHOIS Privacy Protect for the domain.
disable_domain_privacy
use WWW::LogicBoxes;
use WWW::LogicBoxes::Domain;
my $logic_boxes = WWW::LogicBoxes->new( ... );
$logic_boxes->disable_domain_privacy(
id => $domain->id,
reason => 'Disabling Domain Privacy',
);
Given an Integer domain id and an optional reason ( defaults to "Disabling Domain Privacy" ), disabled WHOIS Privacy Protect for the domain.
update_domain_nameservers
use WWW::LogicBoxes;
use WWW::LogicBoxes::Domain;
my $logic_boxes = WWW::LogicBoxes->new( ... );
$logic_boxes->update_domain_nameservers(
id => $domain->id,
nameservers => [ 'ns1.logicboxes.com', 'ns1.logicboxes.com' ],
);
Given an Integer domain id and an ArrayRef of nameserver hostnames, sets the domain's authoritative nameservers.