Metadata-Version: 1.1
Name: tonicdnscli
Version: 0.6.2
Summary: TonicDNS CLI tool
Home-page: https://github.com/mkouhei/tonicdnscli
Author: Kouhei Maeda
Author-email: mkouhei@palmtb.net
License:  GNU General Public License version 3
Description: ======================================
        `tonicdnscli` is TonicDNS Client tool.
        ======================================
        
        This command line tool for TonicDNS API.
        TonicDNS is  RESTful API for PowerDNS.
        Convert readble text record to JSON, and create or delete zone records with TonicDNS.
        
        
        Requirements
        ------------
        
        * Python 2.7 or Python 3.2 later.
        
        
        Setup
        -----
        ::
        
           $ git clone https://github.com/mkouhei/tonicdnscli
           $ cd tonicdnscli
           $ sudo python setup.py install
        
           
        History
        -------
        
        0.6.2 (2012-06-17)
        ~~~~~~~~~~~~~~~~~~~~
        
        * New feature of getting all zones
        * Add pre-commit hook script
        * Rename method name that test_getJSON to test_setJSON
        * Refactoring of http connect
        
        0.6.1.1 (2012-05-23)
        ~~~~~~~~~~~~~~~~~~~~
        
        * Fix README
        
        0.6.1 (2012-05-23)
        ~~~~~~~~~~~~~~~~~~
        
        * Fix issue#2
        * Refactoring
        
        0.6 (2012-05-15)
        ~~~~~~~~~~~~~~~~
        
        * Update SOA
        
        0.5.2 (2012-05-11)
        ~~~~~~~~~~~~~~~~~~
        
        * create or delete a specific record
        
        0.5.1 (2012-05-07)
        ~~~~~~~~~~~~~~~~~~
        
        * Fix bug get fail when resolver is SLAVE
        
        0.5 (2012-05-04)
        ~~~~~~~~~~~~~~~~
        
        * templates CRUD
        
        0.4.4 (2012-05-01)
        ~~~~~~~~~~~~~~~~~~
        
        * not distribute util3.py (alternative print for python3)
        
        0.4.3 (2012-05-01)
        ~~~~~~~~~~~~~~~~~~
        
        * search target conent and type
        * retrieve all zone
        
        0.4.2 (2012-04-28)
        ~~~~~~~~~~~~~~~~~~
        
        * Add search records
        * Format of stdout of retrieve records
        
        0.4.1 (2012-04-27)
        ~~~~~~~~~~~~~~~~~~
        
        * Fix bug processing last data only, when separate file
        
        0.4 (2012-04-26)
        ~~~~~~~~~~~~~~~~
        
        * default option config file $HOME/.tdclirc
        
        
        0.3.2 (2012-04-25)
        ~~~~~~~~~~~~~~~~~~
        
        * Add unittest of pep8, converter.py, tdauth.py (partially) 
        * Add exception error handling
        * Refactoring (Thanks Henrich)
        
        
        0.3.1 (2012-04-23)
        ~~~~~~~~~~~~~~~~~~
        
        * Add manpage
        
        
        0.3 (2012-04-21)
        ~~~~~~~~~~~~~~~~
        
        * New command line style, add sub-command, change options
        
          * Change optparse to argparse
          * new sub-command : show|get|create|delete
        
        
        0.2 (2012-04-20)
        ~~~~~~~~~~~~~~~~
        
        * Support Python3
        * Add option `-P` as password prompt with echo turned off
        
        0.1 (2012-04-20)
        ~~~~~~~~~~~~~~~~
        * first release
        
        
        Usage
        -----
        
        Input file (example.org.txt)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ::
        
           # name type content ttl priority
           test0.example.org A 10.10.10.10 86400
           test1.example.org A 10.10.10.11 86400
           test2.example.org A 10.10.10.12 86400
           example.org MX mx.example.org 86400 0
           example.org MX mx2.example.org 86400 10
           mx.example.org A 10.10.11.10 3600
           mx2.example.org A               10.10.11.10 3600
        
        
        Setting default options to config file
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        An alternative method of command options that use the config file.
        Copy examples/tdclirc.sample to `$HOME/.tdclirc`. `password` key to set password in plain text, it is recommended that you remove this line, `-P` option is used.
        ::
        
           [global]
           server: ns.example.org
        
           [auth]
           username: tonicuser
           password: tonicpw
        
        
        Print converted JSON
        ~~~~~~~~~~~~~~~~~~~~
        ::
        
           $ tonicdnscli show sample/example.org.txt
           {
             "records": [
               {
                 "content": "10.10.10.10", 
                 "name": "test0.example.org", 
                 "ttl": "86400", 
                 "type": "A"
               }, 
               {
                 "content": "10.10.10.11", 
                 "name": "test1.example.org", 
                 "ttl": "86400", 
                 "type": "A"
               }, 
               {
                 "content": "10.10.10.12", 
                 "name": "test2.example.org", 
                 "ttl": "86400", 
                 "type": "A"
               }, 
           (snip)
        
        Retrieve all zones
        ~~~~~~~~~~~~~~~~~~
        ::
        
           $ tonicdnscli get -u tonicusername -P
           ==============================================================================
           name                 type     notified_serial
           ==============================================================================
           example.org          MASTER   2012052201
           example.net          MASTER   2012060502
        
        
        Retrieve records
        ~~~~~~~~~~~~~~~~
        ::
        
           $ tonicdnscli get -s ns.example.org -d example.org -u tonicusername -P
           domain: example.org
           serial: 2012042403
           DNS   : MASTER
           ==============================================================================
           name                              type  content                   ttl   prio
           ==============================================================================
           example.org                       SOA  
           >            ns.example.org hostmaster.example.org 2012042403  86400 
           example.org                       NS    ns.example.org            86400 
           example.org                       NS    ns2.example.org           86400 
           ns.example.org                    A     192.168.0.100             86400 
           ns2.example.org                   A     192.168.0.101             86400 
           www.example.org                   A     192.168.0.1               86400 
           ==============================================================================
        
        
        Create single record
        ~~~~~~~~~~~~~~~~~~~~
        ::
        
           $ tonicdnscli create -s ns.example.org -u tonicusername -P \
           create --domain example.org --name www2.example.org --rtype A \
           --content 10.10.10.10
           true
        
        Create records
        ~~~~~~~~~~~~~~
        ::
        
           $ tonicdnscli create -s ns.example.org -u tonicusername -P \
           examples/example.org.txt
           true
        
        Delete single records
        ~~~~~~~~~~~~~~~~~~~~~
        ::
        
           $ tonicdnscli delete -s ns.example.org -u tonicusername -P \
           create --domain example.org --name www2.example.org --rtype A \
           --content 10.10.10.10
           true
        
        Delete records
        ~~~~~~~~~~~~~~~
        ::
        
           $ tonicdnscli delete -s ns.example.org -u tonicusername -P examples/example.org.txt
           true
        
        Update SOA
        ~~~~~~~~~~
        ::
        
           $ tonicdnscli soa -s ns.example.org -u tonicusername --domain example.org
           true
           true
        
        
        Contribute
        ----------
        
        Firstly copy pre-commit hook script.
        ::
        
           $ cp -f utils/pre-commit.txt .git/hooks/pre-commit
        
        Next install python2.7 later, and nosetests. Below in Debian GNU/Linux Sid system,
        ::
        
           $ sudo apt-get install python python-nose
        
        Then checkout 'devel' branch for development, commit your changes. Before pull request, execute git rebase.
        
        
        See also
        --------
        
        * `TonicDNS <https://github.com/Cysource/TonicDNS>`_
        * `PowerDNS <http://www.powerdns.com>`_
        ToDo
        ====
        
        Features
        --------
        
        * Checking existing records When create or delete records.
        * Updating records.
        
        Improvement
        -----------
        
        * Add unittest.
        * Validation input data.
        
        Known bug
        ---------
        
        * When using in preference --config option than $HOME/.tdclirc.
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: Name Service (DNS)
Classifier: Topic :: System :: Systems Administration
