So, I would *love* to see proper inheritance for Types.
Currently, I can inherit Providers and do classic OO stuff but I can't do
that with Types and it drives me a bit nuts.
If you go with the descriptive namevar, you'll need to make the separator
something that won't show up in a package name. So probably one of '+/,|'
etc...
The bright side of this is that you don't need to specify the provider
either since it can be auto-determined from the namevar.
package { 'mysql+gem': ensure => 'foo' } ==> Name is known to be mysql and
provider is known to be gem from splitting on '+'.
You can find an example of this here:
https://github.com/onyxpoint/pupmod-concat/blob/master/lib/puppet/type/concat_fragment.rb
But, I still would prefer just inheriting types.
Puppet::Type.newtype(:package_gem, :parent => Puppet::Type::Package)
This would mean that I would obtain all methods, properties, and parameters
from the parent Type and be able to override/extend as usual.
Providers would not be inherited, only the Type API.
Trevor
On Wed, Oct 8, 2014 at 7:55 AM, Felix Frank <[email protected]
> 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' |>
>
> 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).
>
> > Types of Users: <the usual>, htaccess, htdigest, tomcat, ldap(posix),
> > ldap(other), weblogic, mysql, postgres, dovecot, postfix, (pretty much
> > you name it....)
> >
> > Personally, I don't want all of these smashed into the same high level
> > interface.
>
> Hmm, I think I agree (right now...let's see about next week ;-)
>
> But we *do* need a subtyping system then. You wouldn't want to implement
> each of those as their own independent thing, would you?
>
> Cheers,
> Felix
>
> --
> 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/54352621.7050200%40alumni.tu-berlin.de
> .
> For more options, visit https://groups.google.com/d/optout.
>
--
Trevor Vaughan
Vice President, Onyx Point, Inc
(410) 541-6699
[email protected]
-- This account not approved for unencrypted proprietary information --
--
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/CANs%2BFoXF8fCC_b6ZMQsyiOdnWm47fzQJOL7c%3D2vy6ri5Cia_bw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.