{"record":{"id":"918347349b325a83","repo":"puppetlabs/puppet","slug":"function-name-the-epp-template-contains-ille","errorCode":null,"errorMessage":"%{function_name}(): The EPP template contains illegal expressions (definitions)","messagePattern":"%(.+?)\\(\\): The EPP template contains illegal expressions \\(definitions\\)","errorType":"exception","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/puppet/pops/evaluator/epp_evaluator.rb","lineNumber":73,"sourceCode":"  end\n\n  def self.evaluate(parser, func_name, scope, use_global_scope_only, parse_result, template_args)\n    template_args, template_args_set = handle_template_args(func_name, template_args)\n\n    body = parse_result.body\n    unless body.is_a?(Puppet::Pops::Model::LambdaExpression)\n      # TRANSLATORS 'LambdaExpression' is a class name and should not be translated\n      raise ArgumentError, _(\"%{function_name}(): the parser did not produce a LambdaExpression, got '%{class_name}'\") %\n                           { function_name: func_name, class_name: body.class }\n    end\n    unless body.body.is_a?(Puppet::Pops::Model::EppExpression)\n      # TRANSLATORS 'EppExpression' is a class name and should not be translated\n      raise ArgumentError, _(\"%{function_name}(): the parser did not produce an EppExpression, got '%{class_name}'\") %\n                           { function_name: func_name, class_name: body.body.class }\n    end\n    unless parse_result.definitions.empty?\n      # TRANSLATORS 'EPP' refers to 'Embedded Puppet (EPP) template'\n      raise ArgumentError, _(\"%{function_name}(): The EPP template contains illegal expressions (definitions)\") %\n                           { function_name: func_name }\n    end\n\n    parameters_specified = body.body.parameters_specified\n    if parameters_specified || template_args_set\n      enforce_parameters = parameters_specified\n    else\n      enforce_parameters = true\n    end\n\n    # filter out all qualified names and set them in qualified_variables\n    # only pass unqualified (filtered) variable names to the template\n    filtered_args = {}\n    template_args.each_pair do |k, v|\n      if k =~ /::/\n        k = k[2..] if k.start_with?('::')\n        scope[k] = v\n      else","sourceCodeStart":55,"sourceCodeEnd":91,"githubUrl":"https://github.com/puppetlabs/puppet/blob/e227c27540975c25aa22d533a52424a9d2fc886a/lib/puppet/pops/evaluator/epp_evaluator.rb#L55-L91","documentation":"Error \"%{function_name}(): The EPP template contains illegal expressions (definitions)\" thrown in puppetlabs/puppet.","triggerScenarios":"Thrown at lib/puppet/pops/evaluator/epp_evaluator.rb:73 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e227c27540975c25aa22d533a52424a9d2fc886a","analyzedAt":"2026-08-21T20:49:46.650Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}