# Revision history [back]

dummy::parfil{$filename:} declares a defined type with the title of$filename. In your code example, the type would be defined twice, once with the $title 'a', and once with the$title 'b'.

With a defined type, the title of the resource is assigned to the variable $title and$name. The resource title is not assigned to a parameter.

Your defined type has a required parameter called $filename. You aren't supplying a value for$filename, so a parse error is being raised. Puppet is expecting this:

dummy::parfil { 'a':
filename => 'a'
}


Try this:

define dummy::parfil (
$filename =$title,
) {
file {$filename: ensure => 'file', path => "/etc/dummy/manifests/${filename}"
}
}


This is also acceptable:

define dummy::parfil ( ) {
file {$title: ensure => 'file', path => "/etc/dummy/manifests/${title}"
}
}