Code Monkey home page Code Monkey logo

dnsimple-ruby's Introduction

DNSimple Ruby Client

A Ruby command line utility and wrapper for the DNSimple API.

Build Status

DNSimple provides DNS hosting and domain registration that is simple and friendly. We provide a full API and an easy-to-use web interface so you can get your domain registered and set up with a minimal amount of effort.

Installation

$ gem install dnsimple-ruby

Credentials

Create a file in your home directory called .dnsimple.

In this file add the following:

username: YOUR_USERNAME
password: YOUR_PASSWORD

Or if using an API token

username: YOUR_USERNAME
api_token: YOUR_API_TOKEN

Commands

There are two ways to interact with the DNSimple Ruby wrapper. The first is to use the command line utility that is included. The commands available are as follows:

For help:

  • dnsimple help

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 contact_id
  • dnsimple certificate:submit id

The contact 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)

Wrapper Classes

In addition to the command line utility you may also use the included Ruby classes directly in your Ruby applications.

Here's a short example.

require 'rubygems'
require 'dnsimple'

DNSimple::Client.username   = 'YOUR_USERNAME'
DNSimple::Client.password   = 'YOUR_PASSWORD'
DNSimple::Client.http_proxy = {}

user = DNSimple::User.me
puts "#{user.domain_count} domains"

puts "Domains..."
DNSimple::Domain.all.each do |domain|
  puts "  #{domain.name}"
end

domain = DNSimple::Domain.find("example.com")
domain.apply("template") # applies a standard or custom template to the domain

domain = DNSimple::Domain.create("newdomain.com")
puts "Added #{domain.name}"
domain.delete # removes from DNSimple

For the full API documentation visit http://rubydoc.info/gems/dnsimple-ruby

dnsimple-ruby's People

Contributors

aeden avatar weppos avatar pat avatar benjaminkeeping avatar dje avatar alekseydreval avatar jackbot avatar jerrycattell avatar johnbintz avatar roidrage avatar mattmanning avatar mikeemery avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.