Can you access node attributes from within a Chef custom resource definition?

You can do it, it just isn’t recommended. It mostly comes up for using the value of an attribute as the default value for a property, which isn’t the worst thing in the world sometimes. For that just use a lazy definition: property(:foo, default: lazy { node["whatever"] })

Original Quoted context has been removed as per policy