class Dynacord::Provider::Gandi::LiveDNS
Public Class Methods
new(apikey:)
click to toggle source
# File lib/dynacord/provider/gandi/livedns.rb, line 8 def initialize(apikey:) @apikey = apikey @api = Net::HTTP.new('dns.api.gandi.net', 443) @api.use_ssl = true end
Public Instance Methods
update_record(record:, zone:, ipaddr:, ttl: 300)
click to toggle source
update a given A record in a provided zone
# File lib/dynacord/provider/gandi/livedns.rb, line 36 def update_record(record:, zone:, ipaddr:, ttl: 300) uri = "/api/v5/zones/#{zone}/records/#{record}/A" data = {'rrset_ttl' => ttl.to_i, 'rrset_values' => [ipaddr]}.to_json q = Net::HTTP::Put.new(uri) q['X-Api-Key'] = @apikey q["Content-Type"] = "application/json" q.body = data r = @api.request(q) return r.code, r.body end
uuid_from_domain(domain:)
click to toggle source
get the uuid for a given domain
# File lib/dynacord/provider/gandi/livedns.rb, line 23 def uuid_from_domain(domain:) zones = zone_uuids() uuid = nil JSON.parse(zones[1]).each do |zone| if zone['name'] == domain uuid = zone['uuid'] break end end return uuid end
zone_uuids()
click to toggle source
get the LiveDNS
zones and their UUIDs
# File lib/dynacord/provider/gandi/livedns.rb, line 15 def zone_uuids() q = Net::HTTP::Get.new('/api/v5/zones') q['X-Api-Key'] = @apikey r = @api.request(q) return r.code, r.body end