Skip to content

Latest commit

 

History

History
92 lines (68 loc) · 2.66 KB

README.rst

File metadata and controls

92 lines (68 loc) · 2.66 KB

TransIP API

https://travis-ci.org/benkonrath/transip-api.png?branch=develop

This library aims to implement the TransIP API in Python.

Quick Start

Prerequisite

  • Make sure you have an account at TransIP
  • Enable the API (https://www.transip.nl/cp/mijn-account/#api)
  • Add your IP.
  • Generate key-pairs
    • Copy-paste the key into a file.
    • Encrypt the key $ openssl enc -aes-256-cbc -in new_key -out encrypted_key
    • Decrypt it again (for now, only unencrypted RSA is supported) $ openssl rsa -in encrypted_key -out decrypted_key
    • put decrypted key next to this readme

Setup

$ python setup.py install

Example

The command-line interpreter doesn't do much yet. By default it does a getDomainNames() call, but with the '-u' option it's also possible to add or update DNS records. When calling it with '-h', it will show all available options.

$ transip-api
[example.com, example.org, example.net]

$ transip-api -h
usage: transip-api [-h] [-l LOGINNAME] [-s] [-a] [-u] [-d]
                   [--domain-name DOMAIN_NAME] [--entry-name ENTRY_NAME]
                   [--entry-expire ENTRY_EXPIRE] [--entry-type ENTRY_TYPE]
                   [--entry-content ENTRY_CONTENT]

optional arguments:
  -h, --help            show this help message and exit
  -l LOGINNAME, --login-name LOGINNAME
                        TransIP username
  -s, --show-dns-entries
                        show all DNS entries for a domain
  -a, --add-dns-entry   add an entry in the DNS
  -u, --update-dns-entry
                        update an entry in the DNS
  -d, --delete-dns-entry
                        delete an entry in the DNS
  --domain-name DOMAIN_NAME
                        domain name to use
  --entry-name ENTRY_NAME
                        name of the DNS entry
  --entry-expire ENTRY_EXPIRE
                        expire time of the DNS entry
  --entry-type ENTRY_TYPE
                        type of the DNS entry
  --entry-content ENTRY_CONTENT
                        content of the DNS entry

Example of adding/updating a record:

$ transip-api -l githubuser -u --domain-name example.com --entry-name testentry --entry-expire 86400 --entry-type A --entry-content 127.0.0.1
Request finished successfully.

Documentation

Further documentation can be found in the docs directory, although this is not filled in yet.