.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "cPanel::PublicAPI::WHM::DNS 3" .TH cPanel::PublicAPI::WHM::DNS 3 "2019-03-06" "perl v5.16.3" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" cPanel::PublicAPI::WHM::DNS \- A module for interacting with WHM's DNS clustering system. .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module is intended as a client for querying \s-1WHM\s0's \s-1DNS\s0 clustering system. Unless you are specifically looking to write your own interaction with cPanel's \s-1DNS\s0 system, you should never need to use this module, rather the \s-1DNS\s0 functions within cPanel's XML-API should do what you are looking for: .SH "functions" .IX Header "functions" The functions contained within this module share a similiar naming scheme for the variables used within, please consult the list below when figuring out what each function does. .IP "\(bu" 4 \&\f(CW$zone\fR \- The name of the domain to be used. .IP "\(bu" 4 \&\f(CW$dnsuniqid\fR \- A Unique string used to identify uniquely (suggested: 32 character alphanumeric) .IP "\(bu" 4 \&\f(CW$zones\fR \- A pipe seperated list of domains. .IP "\(bu" 4 \&\f(CW$zonedata\fR \- The contents of a zone file, usually used for sending changes of a zone to another system. .ie n .SS """addtocluster()""" .el .SS "\f(CWaddtocluster()\fP" .IX Subsection "addtocluster()" Add a machine to a \s-1DNS\s0 cluster. .PP Call specific parameters: .IP "\(bu" 4 \&\f(CW$clustermaster\fR \- The \s-1IP\s0 of the machine being added to the cluster. .IP "\(bu" 4 \&\f(CW$user\fR \- The user to authenticate \s-1DNS\s0 requests as. .IP "\(bu" 4 \&\f(CW$pass\fR \- The accesshash or \s-1API\s0 token to authenticate \s-1DNS\s0 requests with .IP "\(bu" 4 \&\f(CW$version\fR \- The version of cPanel/WHM of the machine being added to the cluster .PP Syntax: .PP .Vb 1 \& $pubapi\->addtocluster( $user, $clustermaster, $accesshash, $version ) .Ve .ie n .SS """getzone_local()""" .el .SS "\f(CWgetzone_local()\fP" .IX Subsection "getzone_local()" Get the contents of a zone file. .PP Syntax: .PP .Vb 1 \& $pubapi\->getzone_local( $zone, $dnsuniqid ) .Ve .ie n .SS """getzones_local()""" .el .SS "\f(CWgetzones_local()\fP" .IX Subsection "getzones_local()" Get the contents of multiple zone files, this will be split up as: .PP .Vb 1 \& cpdnszone\-%URI ENCODED ZONENAME%=%URI encoded version of zone file%&cpdnszone... .Ve .PP for each zone in the response .PP Syntax: .PP .Vb 1 \& $pubapi\->getzones_local( $zones, $dnsuniqid ) .Ve .ie n .SS """getallzones_local()""" .el .SS "\f(CWgetallzones_local()\fP" .IX Subsection "getallzones_local()" Like getzones_local, but will return all zones in a cluster. .PP Syntax: .PP .Vb 1 \& $pubapi\->getallzones_local( $dnsuniqid ) .Ve .ie n .SS """cleandns_local()""" .el .SS "\f(CWcleandns_local()\fP" .IX Subsection "cleandns_local()" Clean up any old or unused \s-1DNS\s0 zones from named.conf. .PP Syntax: .PP .Vb 1 \& $pubapi\->cleandns_local( $dnsuniqid ) .Ve .ie n .SS """getips_local()""" .el .SS "\f(CWgetips_local()\fP" .IX Subsection "getips_local()" Get a list of extra IPs available on a system, response will be formated as: .PP \&\f(CW$ip:\fR$netmask:$broadcast .PP Syntax: .PP .Vb 1 \& $pubapi\->getips_local( $dnsuniqid ) .Ve .ie n .SS """getpath_local()""" .el .SS "\f(CWgetpath_local()\fP" .IX Subsection "getpath_local()" Returns a newline separated list containing all the machines that this machine is clustered with in the following format: .PP \&\f(CW$hostname\fR \f(CW$remote_host\fR .PP Syntax: .PP .Vb 1 \& $pubapi\->getpath_local( $dnsuniqid ) .Ve .ie n .SS """removezone_local()""" .el .SS "\f(CWremovezone_local()\fP" .IX Subsection "removezone_local()" Remove a \s-1DNS\s0 zone. .PP Syntax: .PP .Vb 1 \& $pubapi\->removezone_local( $zone, $dnsuniqid ) .Ve .ie n .SS """removezones_local()""" .el .SS "\f(CWremovezones_local()\fP" .IX Subsection "removezones_local()" Remove multiple \s-1DNS\s0 zones. .PP Syntax: .PP .Vb 1 \& $pubapi\->removezones_local( $zones, $dnsuniqid ) .Ve .ie n .SS """reloadzones_local()""" .el .SS "\f(CWreloadzones_local()\fP" .IX Subsection "reloadzones_local()" Force bind to re-read zones files via the \*(L"rndc reload\*(R" command. .PP Syntax: .PP .Vb 1 \& $pubapi\->reloadzones_local( $dnsuniqid, $zones ) .Ve .ie n .SS """reloadbind_local()""" .el .SS "\f(CWreloadbind_local()\fP" .IX Subsection "reloadbind_local()" Run the 'rndc reload' command. If no zones are specified, bind will reload everything. .PP Syntax: .PP .Vb 1 \& $pubapi\->reloadbind_local( $dnsuniqid, $zone ) .Ve .ie n .SS """reconfigbind_local()""" .el .SS "\f(CWreconfigbind_local()\fP" .IX Subsection "reconfigbind_local()" Run the 'rndc reconfig' command. .PP Syntax: .PP .Vb 1 \& $pubapi\->reconfigbind_local( $dnsuniqid, $zone ) .Ve .ie n .SS """quickzoneadd_local()""" .el .SS "\f(CWquickzoneadd_local()\fP" .IX Subsection "quickzoneadd_local()" Add a new zone to a system. .PP Syntax: .PP .Vb 1 \& $pubapi\->quickzoneadd_local( $zone, $zonedata, $dnsuniqid ) .Ve .ie n .SS """savezone_local()""" .el .SS "\f(CWsavezone_local()\fP" .IX Subsection "savezone_local()" Update a zone file with the data specified in \f(CW$zonedata\fR. .PP Syntax: .PP .Vb 1 \& $pubapi\->savezone_local( $zone, $zonedata, $dnsuniqid ) .Ve .ie n .SS """synczones_local()""" .el .SS "\f(CWsynczones_local()\fP" .IX Subsection "synczones_local()" Send a dump of all zones and update zones when required. The zones are sent within the \f(CW$formdata\fR in the following format: .PP .Vb 1 \& cpdnszone\-%URI ENCODED ZONENAME%=%URI encoded version of zone file%&cpdnszone... .Ve .PP Syntax: .PP .Vb 1 \& $pubapi\->synczones_local( $formdata, $dnsuniqid ) .Ve .ie n .SS """addzoneconf_local()""" .el .SS "\f(CWaddzoneconf_local()\fP" .IX Subsection "addzoneconf_local()" Add a zone to the named.conf file. .PP Syntax: .PP .Vb 1 \& $pubapi\->addzoneconf_local( $zone, $dnsuniqid ) .Ve .ie n .SS """getzonelist_local()""" .el .SS "\f(CWgetzonelist_local()\fP" .IX Subsection "getzonelist_local()" Get a newline seperated list of the zones on a system. .PP Syntax: .PP .Vb 1 \& $pubapi\->getzonelist_local( $dnsuniqid ) .Ve .ie n .SS """zoneexists_local()""" .el .SS "\f(CWzoneexists_local()\fP" .IX Subsection "zoneexists_local()" Return boolean value indicating whether a zone exists on a remote system or not. .PP Syntax: .PP .Vb 1 \& $pubapi\->zoneexists_local( $zone, $dnsuniqid ) .Ve .SH "Bugs" .IX Header "Bugs" see http://rt.cpan.org to report and view bugs .SH "License" .IX Header "License" Copyright (c) 2015, cPanel, Inc. All rights reserved. http://cpanel.net .PP Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of cPanel, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. .PP \&\s-1THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \*(L"AS IS\*(R" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES \&\s0(\s-1INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES\s0; \&\s-1LOSS OF USE, DATA, OR PROFITS\s0; \s-1OR BUSINESS INTERRUPTION\s0) \s-1HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT \&\s0(\s-1INCLUDING NEGLIGENCE OR OTHERWISE\s0) \s-1ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\s0