如何在Puppet :: Functions中定义可选参数

时间:2018-04-10 10:50:20

标签: ruby puppet

我想用Puppet::Functions.create_function创建一个puppet ruby​​函数。在这里我定义一些参数。其中一些应该是可选的,或者应该具有默认值。

Puppet::Functions.create_function(:'foo') do
  dispatch :bar do
    param 'String', :param_1
    param 'String', :param_2
    param 'String', :param_3

    def bar(a,b,c)
      puts "#{a} - #{b} - #{c}"
    end
end

param_1和param_3应该是可选的。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

以下应该这样做

  Puppet::Functions.create_function(:foo) do
    dispatch :foo do
      param 'String', :param_1
      optional_param 'String', :param_2
      optional_param 'String', :param_3

      def foo(param_1, param_2='default_value', param_3='default_value')
        puts "#{param_1} - #{param_2} - #{param_3}"
      end
  end

请点击此处查看示例https://github.com/puppetlabs/puppetlabs-stdlib/blob/master/lib/puppet/functions/to_json_pretty.rb