puppetlabs/puppet · error · Puppet::ParseError

Enum parameters must be identifiers or strings

Error message

Enum parameters must be identifiers or strings

What it means

Error "Enum parameters must be identifiers or strings" thrown in puppetlabs/puppet.

Source

Thrown at lib/puppet/pops/types/type_parser.rb:429

        end
      end
      create_resource(type, parameters)

    when 'regexp'
      # 1 parameter being a string, or regular expression
      raise_invalid_parameters_error('Regexp', '1', parameters.size) unless parameters.size == 1
      TypeFactory.regexp(parameters[0])

    when 'enum'
      # 1..m parameters being string
      last = parameters.last
      case_insensitive = false
      if last == true || last == false
        parameters = parameters[0...-1]
        case_insensitive = last
      end
      raise_invalid_parameters_error('Enum', '1 or more', parameters.size) unless parameters.size >= 1
      parameters.each { |p| raise Puppet::ParseError, _('Enum parameters must be identifiers or strings') unless p.is_a?(String) }
      PEnumType.new(parameters, case_insensitive)

    when 'pattern'
      # 1..m parameters being strings or regular expressions
      raise_invalid_parameters_error('Pattern', '1 or more', parameters.size) unless parameters.size >= 1
      TypeFactory.pattern(*parameters)

    when 'uri'
      # 1 parameter which is a string or a URI
      raise_invalid_parameters_error('URI', '1', parameters.size) unless parameters.size == 1
      TypeFactory.uri(parameters[0])

    when 'variant'
      # 1..m parameters being strings or regular expressions
      raise_invalid_parameters_error('Variant', '1 or more', parameters.size) unless parameters.size >= 1
      parameters.each { |p| assert_type(ast, p) }
      TypeFactory.variant(*parameters)

View on GitHub (pinned to e227c27540)

When it happens

Trigger: Thrown at lib/puppet/pops/types/type_parser.rb:429 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/0e881c45cfa897e5. Report an issue: GitHub.