puppetlabs/puppet · error · Puppet::ParseError
Generators can only contain alphanumerics, file separators,
Error message
Generators can only contain alphanumerics, file separators, and dashes
What it means
Error "Generators can only contain alphanumerics, file separators, and dashes" thrown in puppetlabs/puppet.
Source
Thrown at lib/puppet/parser/functions/generate.rb:26
the generator is considered to have failed and a parse error is
thrown. Generators can only have file separators, alphanumerics, dashes,
and periods in them. This function will attempt to protect you from
malicious generator calls (e.g., those with '..' in them), but it can
never be entirely safe. No subshell is used to execute
generators, so all shell metacharacters are passed directly to
the generator, and all metacharacters are returned by the function.
Consider cleaning white space from any string generated.") do |args|
# TRANSLATORS "fully qualified" refers to a fully qualified file system path
raise Puppet::ParseError, _("Generators must be fully qualified") unless Puppet::Util.absolute_path?(args[0])
if Puppet::Util::Platform.windows?
valid = args[0] =~ %r{^[a-z]:(?:[/\\][-.~\w]+)+$}i
else
valid = args[0] =~ %r{^[-/\w.+]+$}
end
unless valid
raise Puppet::ParseError, _("Generators can only contain alphanumerics, file separators, and dashes")
end
if args[0] =~ /\.\./
raise Puppet::ParseError, _("Can not use generators with '..' in them.")
end
begin
dir = File.dirname(args[0])
Puppet::Util::Execution.execute(args, failonfail: true, combine: true, cwd: dir).to_str
rescue Puppet::ExecutionFailure => detail
raise Puppet::ParseError, _("Failed to execute generator %{generator}: %{detail}") % { generator: args[0], detail: detail }, detail.backtrace
end
end
View on GitHub (pinned to e227c27540)
When it happens
Trigger: Thrown at lib/puppet/parser/functions/generate.rb:26 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of puppetlabs/puppet@e227c27540 (2026-08-21).
Data as JSON: /api/errors/89a3679fdd34a7e2.
Report an issue: GitHub.