Hi all, We're pleased to announce that version 1.2 of the Resource API is being released today.
The Resource API provides a simple way to create new native resources in the form of types and providers for Puppet. It is provided as a Ruby gem to be referenced within modules. Support for it has been included as an experimental feature in version 1.4 of the Puppet Development Kit (pdk new provider). Use the resource_api module <https://forge.puppet.com/puppetlabs/resource_api> or the puppet 6 nightly packages <https://groups.google.com/d/msg/puppet-users/N3LJGhsrqkU/TUEsq7VfDQAJ> to deploy it in your infrastructure. The new release of the Resource API provides the following enhancements: - Provide access to the type definition from the provider. This can be useful in advanced scenarios, e.g. for autogenerating API-passthroughs based on the resource type. See puppetlabs/puppet-resource_api#72 <https://github.com/puppetlabs/puppet-resource_api/pull/72> and puppetlabs/puppet-specifications: resource-api/README.md#type-definition <https://github.com/puppetlabs/puppet-specifications/blob/master/language/resource-api/README.md#type-definition> for technical details - SimpleProvider now throws a usable error when the type does not have an ensure attribute. Previously this would have caused confusing errors, which were hard to figure out. - The Resource API is now shipped as an integral part of the puppet 6 nightly packages <https://groups.google.com/d/msg/puppet-users/N3LJGhsrqkU/TUEsq7VfDQAJ>. The new release also contains the following notable bugfixes: - ensure values are now passed to puppet as symbols. While the Enum data type is a string, puppet expects symbols for ensure to activate its special handling for ensure. This version of the Resource API restores the symbolization behaviour on the puppet side, without disturbing providers expecting a string. - The Resource API no longer validates attribute values on resources that should be absent. This matches existing puppet behaviour, and is necessary to be able to delete resources without having to specify a (otherwise) valid configuration. See the CHANGELOG <https://github.com/puppetlabs/puppet-resource_api/blob/master/CHANGELOG.md> for a full list of changes We encourage all module developers to review the Resource API and use it when creating types and providers. For reference, there is an example of its usage in a branch <https://github.com/DavidS/puppetlabs-apt/blob/resource-api-experiments/lib/puppet/provider/apt_key2/apt_key2.rb> of the apt module. Please let us know of your experiences with the Resource API, either here, on Slack <https://slack.puppet.com/> (#forge-modules), or on the github repo <https://github.com/puppetlabs/puppet-resource_api>. Thanks, David -- Cheers, David https://twitter.com/dev_el_ops -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CALF7fHa7yy9Ptf6ewD7DbUvTH3D75r3fyUa68Mh8vYk%3D_EgFkA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.