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.

Reply via email to