def initialize options = {}
raise "dns_powerdns provider needs 'powerdns_mysql_hostname' option" unless options[:powerdns_mysql_hostname]
raise "dns_powerdns provider needs 'powerdns_mysql_username' option" unless options[:powerdns_mysql_username]
raise "dns_powerdns provider needs 'powerdns_mysql_password' option" unless options[:powerdns_mysql_password]
raise "dns_powerdns provider needs 'powerdns_mysql_database' option" unless options[:powerdns_mysql_database]
@mysql_connection = Mysql2::Client.new(
:host => options[:powerdns_mysql_hostname],
:username => options[:powerdns_mysql_username],
:password => options[:powerdns_mysql_password],
:database => options[:powerdns_mysql_database]
)
@powerdns_pdnssec = options[:powerdns_pdnssec] || false
case options[:type]
when "PTR"
if options[:value] =~ /\.(in-addr|ip6)\.arpa$/
@name = options[:value]
else
@name = IPAddr.new(options[:value]).reverse
end
@content = options[:fqdn]
else
@name = options[:fqdn]
@content = options[:value]
end
super(options)
end