NAME

DNS::Oterica::Hub - the center of control for a DNS::Oterica system

VERSION

version 0.314

OVERVIEW

The hub is the central collector of DNS::Oterica data. All new entries are given to the hub to collect. The hub takes care of preventing duplicates and keeping data synchronized.

PERL VERSION

This library should run on perls released even a long time ago. It should work on any version of perl released in the last five years.

Although it may work on older versions of perl, no guarantee is made that the minimum required version will not be increased. The version may be increased for any reason, and there is no promise that patches will be accepted to lower the minimum required perl.

ATTRIBUTES

ns_family

This is the name of the family whose hosts will be used for NS records for hosts and in SOA lines.

hostmaster

This is the email address to be used as the contact point in SOA lines.

METHODS

domain

my $new_domain = $hub->domain($name => \%arg);

my $domain = $hub->domain($name);

This method will return a domain found by name, or if \%arg is given, will create a new domain.

If no domain is found and \%arg is not given, an exception is raised.

If \%arg is given for a domain that already exists, an exception is raised.

network

my $net = $hub->network($name);

This method finds the named network and returns it. If no network for the given name is registered, an exception is raised.

networks

my @net = $hub->networks;

add_network

my $net = $hub->add_network(\%arg);

This registers a new network, raising an exception if one already exists for the given name.

host

my $host = $hub->host($domain_name, $hostname);

my $new_host = $hub->host($domain_name, $hostname, \%arg);

This method will find or create a host, much like the "domain" method.

nodes

This method will return a list of all nodes registered with the system.

Warning: at present this will return only hosts.

node_family

my $family = $hub->node_family($family_name);

This method will return the named familiy. If no such family exists, an exception will be raised.

node_families

my @families = $hub->node_families;

This method will return all node families. (These are set up during hub initialization.)

AUTHOR

Ricardo SIGNES <cpan@semiotic.systems>

COPYRIGHT AND LICENSE

This software is copyright (c) 2022 by Ricardo SIGNES.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.