-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Labels
researchA research or design taskA research or design task
Description
Use Case
When implementing providers for multiple different backend implementations with similar resources (types), having to implement multiple copies of the type is tedious and error prone.
Examples:
- various flavours of mysql (mysql, mariadb, percona)
- implementations of netdev_stdlib types
- several core types (package, user, exec, ...)
Describe the Solution You Would Like
???
Describe Alternatives You've Considered
- using composite namevars to expose the different implementations
- hiding the implementation details completely within a provider
- implement distinct types and provide unified usage through a defined type in puppet
Additional Context
- https://github.com/puppetlabs/puppet-specifications/blob/master/language/resource-api/README.md#multiple-providers-for-the-same-type
- https://groups.google.com/d/msgid/puppet-users/194dfe1f-ff97-4388-92f7-be755de24d7b%40googlegroups.com?utm_medium=email&utm_source=footer
- Originally raised in https://tickets.puppetlabs.com/browse/PDK-530.
- a lesser for of this, transport-specific providers, has been implemented in PDK-1185 and (PDK-1185) Implement allowances for device-specific providers #126
Metadata
Metadata
Assignees
Labels
researchA research or design taskA research or design task