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.