On Mar 11, 10:29 am, Brian Gallew <g...@gallew.org> wrote:
> I'm not sure what you mean by deduplicating.  Puppet won't let you have
> duplicate *anything*, exported or not.

To be more precise, Puppet won't let you declare two or more resources
having the same name or title for the same node.  That could actually
help you, depending on what exactly you mean by "deduplicating".

>  If you mean "filtering", that's
> doable, but any non-trivial filtering rule will require to you write evil
> Puppet functions that hook into the internals.

Maybe.  There is no supported way to remove a resource declaration
from a node's catalog during the compilation of that catalog, nor, at
a higher level, to "uninclude" a class that you have included.  BUT,
you can include the same class any number of times without inducing
duplication of the class or its contents, and you can realize /
collect the same resource in multiple places or from multiple sources
without causing it to be duplicated.

Basically, Puppet does not provide "deduplication" in part because it
does not provide duplication in the first place.  The trick, of
course, is all in what Puppet considers to be duplicate, and to the
best of my knowledge, that's entirely based on resource names and
titles.

In addition, Puppet does provide some filtering capability for
resource collection and realization.  Filter criteria based on
resource properties can be used to select specific resources to
collect / realize, e.g.:

File<<| tag == ''web-file" |>>

What Puppet does not offer is any ability to filter resources after
realization / collection, or based on what *other* resources are being
realized / collected.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to