Files
packstack/packstack/puppet/modules/packstack/lib/puppet/parser/functions/force_ip.rb
Lukas Bezdicka d5cb42f059 Fix IPv6
Change-Id: Ide88c35590a69bbb7e18a77a688103d5996ffa03
2015-10-10 15:32:02 +02:00

21 lines
393 B
Ruby

require 'resolv'
require 'ipaddr'
module Puppet::Parser::Functions
newfunction(:force_ip, :type => :rvalue) do |args|
if args.size < 1
raise(
Puppet::ParseError,
"force_ip(): Wrong number of arguments given (#{args.size} for 1)"
)
end
if (!!IPAddr.new(args[0]) rescue false)
args[0]
else
Resolv.getaddress args[0]
end
end
end