On Wednesday, October 8, 2014 6:55:19 AM UTC-5, Felix Frank wrote:
>
> On 10/08/2014 01:23 PM, Trevor Vaughan wrote: 
> > 
> > service { 'my_service': require => Package['mysql']{ :provider => 'gem' 
> } } 
>
> How about require => Package<| title == 'mysql' and provider == 'gem' |> 
>


I filed a feature request years ago to support exactly that (Collections as 
rvalues).  I didn't think it was ever implemented as such, but the chain 
operators cover more or less the same ground.
 

>
> Not that it matters - having two Package[mysql] resources will *never* 
> be a thing. 
>
> If I understand Andy correctly, we might have something like 
>
> package { 'mysql-gem': package_name => mysql, provider => gem } 
>
> ...which is awful I guess. Anyway, relationship targets will not be 
> jeopardized (that I can see). 
>


It is more than awful.  It either overloads the package title in dangerous 
ways, or else it deeply undermines Puppet's protections against duplicate 
resources.  Consider, what is the meaning of this:

package { 'mysql-gem': package_name => 'mysql', provider => 'yum' }
?

Does it duplicate any or all of these resources?

package { 'mysql-yum': package_name => 'mysql', provider => 'yum' }
package { 'mysql-rpm': package_name => 'mysql', provider => 'rpm' }
package { 'mysql-gem': package_name => 'mysql' }
?

Do the the above Package['mysql-yum'] and Package['mysql-rpm'] conflict 
with each other?  (They should.)

I can come up with bunches of similar issues.


John

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/2522e510-49d9-4389-a673-f89fe46ace10%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to