0.07
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Use the Dynect services REST API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 2.10.0
>= 0

Runtime

 Project Readme

dynect-rest¶ ↑

Interact with the Dynect REST API.

Resource Records¶ ↑

Since this is 90% of what you’ll be doing, we make it easy.

require 'dynect_rest'
dyn = DynectRest.new("CUSTOMER", "USERNAME", "PASSWORD", "ZONE")
dyn.a.fqdn("sunshine.example.com").ttl(3600).address("192.168.1.1").save
dyn.cname.fqdn("something.example.com").cname("ec2-10-10-10-10.amazonaws.com").save
dyn.publish

Will add an A record and a CNAME. You can use the chained method syntax for every resource record - we map unknown methods to the resource data you make in the call. See link: (example.rb) for an executable example using environment variables.

GSLB¶ ↑

Create a new GSLB:

require 'dynect_rest'
dyn = DynectRest.new("CUSTOMER", "USERNAME", "PASSWORD", "ZONE")
gslb = dyn.gslb()
gslb.fqdn("sunshine.example.com").ttl(30).region_code("global")
gslb.min_healthy(1).serve_count(2)
gslb.monitor(:protocol => "HTTP", :interval => 1, :port => 8000, :path => "/healthcheck", :host => "sunshine.example.com")
gslb.add_host(:address => "1.1.1.1", :label => "friendly_name", :weight => 10, :serve_mode => "obey")
gslb.add_host(:address => "1.1.1.2", :label => "friendly_name2", :weight => 10, :serve_mode => "obey")
gslb.save

This will create a GSLB with hosts 1.1.1.1 and 1.1.1.2 in the global region. The parameters are self-explanatory.

Add a host to an existing GSLB:

require 'dynect_rest'
dyn = DynectRest.new("CUSTOMER", "USERNAME", "PASSWORD", "ZONE")
gslb = dyn.gslb.get("sunshine.example.com")
gslb.add_host(:address => "1.1.1.3", :label => "friendly_name3", :weight => 10, :serve_mode => "obey")
gslb.save(:replace)

This will fetch the GSLB object for “sunshine.example.com”, add the host 1.1.1.3, and save the updated configuration back to dynect.

Everything else¶ ↑

We wrap up the lower-level functionality of the API, so you can focus on just making the calls. For example, to get a list of contacts:

dyn = DynectRest.new("CUSTOMER", "USERNAME", "PASSWORD", "ZONE")
dyn.get('Contact')

To create a new contact:

dyn = DynectRest.new("CUSTOMER", "USERNAME", "PASSWORD", "ZONE")
dyn.post('Contact', { "first_name" => "Bobo", "last_name" => "Clown", "organization" => 'The Circus', "email" => "bobo@example.com" })

Use the API docs¶ ↑

For more - you should be able to find the latest at:

https://manage.dynect.net/help/docs/api2/rest/resources/

If you are a Dynect customer.

Note on Patches/Pull Requests¶ ↑

  • Fork the project.

  • Make your feature addition or bug fix.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2010 Opscode, Inc. See LICENSE for details.