Puppet types and providers development part 2: creating a resource