module Surtr::DNS
Public Class Methods
gcp(project, name, type, value)
click to toggle source
# File lib/surtr/dns.rb, line 21 def self.gcp (project, name, type, value) dns = Google::Cloud::Dns.new project: project dns.zones.each do |zone| if name.end_with?(zone.dns[0..-2]) zone.replace name, type, 1, value break end end end
wait(name, type, value)
click to toggle source
# File lib/surtr/dns.rb, line 8 def self.wait (name, type, value) loop do ok = %w(8.8.8.8 8.8.4.4).all? do |ns| r = Resolv::DNS.new(nameserver: ns) s = r.getresource(name, Resolv::DNS::Resource::IN::TXT).strings s.member?(value) rescue Resolv::ResolvError end break if ok sleep 0.5 end end