Designate is a simple Ruby wrapper for the Zerigo API v1.1 specification.
d = Designate::Client.new("[email protected]", "30f1b76a010d062c22b07bda66c1d9f0")
Get all zones:
d.zones
Create a new zone:
d.create_zone("example.com")
Find a specific zone:
d.find_zone_by_id(12345) d.find_zone_by_domain("example.com")
Get all zone templates:
d.templates
Find a template:
d.find_template(12345)
Get all hosts in a zone:
d.find_zone_by_domain("example.com").hosts
Create host:
d.find_zone_by_domain("example.com").create_host("MX", "mx1.example.com.")
The next features have only been tested in conjunction with capify-ec2. I recommend further testing before adding them to your projects. Also works via Capistrano, using zerigo.yml:
:username: "username" :key: "API Key" :domain: "example.com" Within your project: application = "test" cap <server_name> zerigo:first_time retrieves the first part of the <hostname> from the remote machine and creates: CNAME, <hostname>.example.com => actual DNS name, as specified in your server address. CNAME, <hostname>-test.example.com => web.example.com Nothing will be created if the DNS names are already in use. If the domain does not exist, it will be created.
Copyright © 2010 James Miller. See LICENSE for details.