class Fog::DNS::Dreamhost::Real
Public Class Methods
new(options={})
click to toggle source
# File lib/fog/dreamhost/dns.rb, line 44 def initialize(options={}) @dreamhost_api_key = options[:dreamhost_api_key] if options[:dreamhost_url] uri = URI.parse(options[:dreamhost_url]) options[:host] = uri.host options[:port] = uri.port options[:scheme] = uri.scheme end @host = options[:host] || "api.dreamhost.com" @persistent = options[:persistent] || false @port = options[:port] || 443 @scheme = options[:scheme] || 'https' @connection = Fog::XML::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent) end
Public Instance Methods
create_record(record, type, value, comment = "")
click to toggle source
# File lib/fog/dreamhost/requests/dns/create_record.rb, line 11 def create_record(record, type, value, comment = "") request( :expects => 200, :method => 'GET', :path => "/", :query => { :record => record, :type => type, :value => value, :cmd => 'dns-add_record', :comment => comment } ) end
delete_record(name, type, value)
click to toggle source
# File lib/fog/dreamhost/requests/dns/delete_record.rb, line 11 def delete_record(name, type, value) request( :expects => 200, :method => "GET", :path => "/", :query => { :cmd => 'dns-remove_record', :type => type, :record => name, :value => value, } ) end
list_records()
click to toggle source
# File lib/fog/dreamhost/requests/dns/list_records.rb, line 11 def list_records request( :expects => 200, :method => "GET", :path => "/", :query => { :cmd => 'dns-list_records' } ) end
reload()
click to toggle source
# File lib/fog/dreamhost/dns.rb, line 59 def reload @connection.reset end
request(params)
click to toggle source
# File lib/fog/dreamhost/dns.rb, line 63 def request(params) params[:query].merge!( { :key => @dreamhost_api_key, :format => 'json' } ) response = @connection.request(params) unless response.body.empty? response.body = Fog::JSON.decode(response.body) end if response.body['result'] != 'success' raise response.body['data'] end response end