ib_clear_dns_cache(record)
click to toggle source
def ib_clear_dns_cache(record)
return if Gem::Version.new(Infoblox.wapi_version) < Gem::Version.new('2.6')
MemberDns.all(connection).each do |member|
member.clear_dns_cache(view: record.view, domain: record.name)
end
rescue StandardError => ex
logger.warn("Exception #{ex} was raised when clearing DNS cache")
end
ib_create(clazz, params)
click to toggle source
def ib_create(clazz, params)
clazz.new({ connection: connection, view: dns_view }.merge(params)).post
end
ib_create_a_record(fqdn, address)
click to toggle source
def ib_create_a_record(fqdn, address)
ib_create(Infoblox::Arecord, :name => fqdn, :ipv4addr => address)
end
ib_create_aaaa_record(fqdn, address)
click to toggle source
def ib_create_aaaa_record(fqdn, address)
ib_create(Infoblox::AAAArecord, :name => fqdn, :ipv6addr => address)
end
ib_create_cname_record(fqdn, target)
click to toggle source
def ib_create_cname_record(fqdn, target)
ib_create(Infoblox::Cname, :name => fqdn, :canonical => target)
end
ib_create_ptr_record(ptr, fqdn)
click to toggle source
def ib_create_ptr_record(ptr, fqdn)
ip = IPAddr.new(ptr_to_ip(ptr))
params = {
:ptrdname => fqdn,
:name => ptr
}
params["ipv#{ip.ipv4? ? 4 : 6}addr".to_sym] = ip.to_s
ib_create(Infoblox::Ptr, params)
end
ib_delete(clazz, params)
click to toggle source
def ib_delete(clazz, params)
record = clazz.find(connection, params.merge(_max_results: 1, view: dns_view)).first
raise Proxy::Dns::NotFound, "Cannot find #{clazz.class.name} entry for #{params}" if record.nil?
ret_value = record.delete || (raise Proxy::Dns::NotFound, "Cannot find #{clazz.class.name} entry for #{params}")
ib_clear_dns_cache(record)
ret_value
end
ib_remove_a_record(fqdn)
click to toggle source
def ib_remove_a_record(fqdn)
ib_delete(Infoblox::Arecord, :name => fqdn)
end
ib_remove_aaaa_record(fqdn)
click to toggle source
def ib_remove_aaaa_record(fqdn)
ib_delete(Infoblox::AAAArecord, :name => fqdn)
end
ib_remove_cname_record(fqdn)
click to toggle source
def ib_remove_cname_record(fqdn)
ib_delete(Infoblox::Cname, :name => fqdn)
end
ib_remove_ptr_record(ptr)
click to toggle source
def ib_remove_ptr_record(ptr)
ip = IPAddr.new(ptr_to_ip(ptr))
params = {}
params["ipv#{ip.ipv4? ? 4 : 6}addr".to_sym] = ip.to_s
ib_delete(Infoblox::Ptr, params)
end