A Ruby wrapper for the DNSimple API.
Create a file in your home directory called .dnsimple
In this file add the following:
username: YOUR_USERNAME password: YOUR_PASSWORD
Alternatively you can pass the credentials via command-line arguments, as in:
dnsimple -u username -p password command
The following commands are available for domains:
-
dnsimple list
-
dnsimple describe domain.com
-
dnsimple create domain.com
-
dnsimple register domain.com registrant_id
-
dnsimple transfer domain.com registrant_id [authinfo]
-
dnsimple delete domain.com
-
dnsimple apply domain.com template_short_name
Please note that domain registration and transfer can only be done through the API for domains that do not require extended attributes. A future version of the API will add support for extended attributes.
The following commands are available for records:
-
dnsimple record:create [–prio=priority] domain.com name type content [ttl]
-
dnsimple record:list domain.com
-
dnsimple record:delete domain.com record_id
The following commands are available for custom templates:
-
dnsimple template:list
-
dnsimple template:create name short_name [description]
-
dnsimple template:delete short_name
-
dnsimple template:list_records short_name
-
dnsimple template:add_record short_name name type content [ttl] [prio]
-
dnsimple template:delete_record short_name template_record_id
The following commands are available for managing contacts:
-
dnsimple contact:list
-
dnsimple contact:describe id
-
dnsimple contact:create [name:value name:value …]
-
dnsimple contact:update id [name:value name:value …]
-
dnsimple contact:delete id
The following commands are available for purchasing certificates:
-
dnsimple certificate:purchase domain.com name
-
dnsimple certificate:submit id
The contact attributes that can be used in the name:value pairs are:
-
first_name
-
last_name
-
organization_name (optional)
-
job_title (required if organization name is specified)
-
address1
-
address2 (optional)
-
city
-
state_province (also aliased as state)
-
postal_code
-
country
-
email
-
phone
-
phone_ext (optional)
-
fax (optional)
In addition to the command line utility you may also use the included Ruby classes directly in your Ruby applications.
Sample:
require 'rubygems' require 'dnsimple' DNSimple::Client.username = 'YOUR_USERNAME' DNSimple::Client.password = 'YOUR_PASSWORD' user = User.me puts "#{user.domain_count} domains" puts "Domains..." Domain.all.each do |domain| puts " #{domain.name}" end domain = Domain.find("example.com") domain.apply("template") # applies a standard or custom template to the domain domain = Domain.create("newdomain.com") puts "Added #{domain.name}" domain.delete # removes from DNSimple
The complete RDoc for the wrapper classes can be found here: