Method: Puppet::Parameter#validate

Defined in:
lib/puppet/parameter.rb

#validate(value) ⇒ void

TODO:

Better description of when the various exceptions are raised.ArgumentError is rescued and changed into Puppet::Error.

This method returns an undefined value.

Performs validation of the given value against the rules defined by this parameter. A protected validation method that only ever raises useful exceptions.

Raises:

  • under various conditions

API:

  • public



475
476
477
478
479
480
481
482
483
484
485
486
487
# File 'lib/puppet/parameter.rb', line 475

def validate(value)
  return if value.is_a?(Puppet::Pops::Evaluator::DeferredValue)

  begin
    unsafe_validate(value)
  rescue ArgumentError => detail
    self.fail Puppet::Error, detail.to_s, detail
  rescue Puppet::Error, TypeError
    raise
  rescue => detail
    raise Puppet::DevError, _("Validate method failed for class %{class_name}: %{detail}") % { class_name: name, detail: detail }, detail.backtrace
  end
end