Issue #17192 has been updated by eric sorenson.

Status changed from Unreviewed to Needs More Information
Assignee set to Tomas Doran

You have a namespacing problem because your `class { 'bar': arg => "baz" }` 
invocation overlaps with itself, being inside of `class foo::bar`; this works 
as expected:

<pre>
class bar ($arg) {
    notify { $arg: }
}

class foo::bar {
    class { '::bar': arg => baz }
}

include foo::bar
...
Notice: baz
Notice: /Stage[main]/Bar/Notify[baz]/message: defined 'message' as 'baz'
</pre>

Note I prefixed with `::bar` and it works -- Does that address the problem 
you're trying to solve? If so, please mark the ticket closed. If not, re-assign 
it to me with more information so I can help further.
----------------------------------------
Bug #17192: Parsing issue with parameterized classes
https://projects.puppetlabs.com/issues/17192#change-77725

Author: Tomas Doran
Status: Needs More Information
Priority: Normal
Assignee: Tomas Doran
Category: 
Target version: 
Affected Puppet version: 
Keywords: 
Branch: 


If a class foo::bar uses a parameterized class bar, then this fails, as per 
this code:

<pre>
class bar ($arg) {
  notify { $arg: }
}

class foo::bar {
  class {
    'bar':
      arg => "baz";
  }
}

include foo::bar
</pre>

Which errors with "Duplicate declaration: Class[Foo::Bar] is already declared; 
cannot redeclare at /home/tdoran/code/git/puppet/foo.pp:8 "

Which is incorrect, I'm not declaring a class, I'm trying to use/include a 
parameterized class.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to