Hi Thomas,
On 01 Sep 2015, at 09:59, Thomas Hallgren <thomas.hallg...@puppetlabs.com> 
wrote:

> Hi Martin,
> 
> The function API has evolved slightly since the blog entry that you're 
> referring to was written. The arg_count was removed since it was redundant 
> and confusing after we introduced the 'optional_param' and 'repeated_param'. 
> You can find the documentation for Puppet 4.2 functions here:
> 
> https://docs.puppetlabs.com/references/4.2.latest/developer/Puppet/Functions.html

Many thanks for pointing to the new updated documentation.

My idea is to create a functions which has 3 use cases:
- no parameter: return hostname of puppet master
- ip as parameter: return DNS resolved name
- hostname/fqdn as parameter: return IP address from DNS

How to check for explizit “no parameter”?
Should I check for a dummy parameter set to type Undef?

best,
Martin

> 
> Regards,
> Thomas
> 
> 
> On 2015-08-31 17:57, Martin Alfke wrote:
>> Hi,
>> 
>> I am playing with Puppet 4 functions.
>> According to Henriks blog[1] one can provide information on number of 
>> arguments for a function using arg_count inside the dispatch.
>> 
>> The following code will throw an error:
>> 
>> # modules/utils/lib/puppet/functions/resolver.rb
>> require 'socket'
>> Puppet::Functions.create_function(:resolver) do
>>   dispatch :hostname do
>>     arg_count 0, 0
>>   end
>>   def hostname()
>>     Socket.gethostname
>>   end
>> end
>> 
>> Error: Evaluation Error: Error while evaluating a Function Call, undefined 
>> method `arg_count' for 
>> #<Puppet::Functions::DispatcherBuilder:0x00000004cbd280> at 
>> /etc/puppetlabs/code/environments/production/modules/functions/manifests/init.pp:2:15
>>  on node puppetmaster.example.net
>> 
>> I had aloof on the functions.rb file in PC1 
>> (/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions.rb).
>> No arg_count function is available.
>> 
>> Is arg_count a feature which will be available with an upcoming version?
>> 
>> Any other way to provide information regarding amount of arguments?
>> 
>> Best,
>> Martin
>> 
>> [1] 
>> http://puppet-on-the-edge.blogspot.de/2015/01/the-puppet-4x-function-api.html
>> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Puppet Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to puppet-dev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/puppet-dev/55E55AEF.7080008%40puppetlabs.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/A24A95D0-AB1D-48D3-8F64-B9ED0EBF7590%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to