summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/chef/deprecated.rb4
-rw-r--r--lib/chef/resource/lwrp_base.rb6
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/chef/deprecated.rb b/lib/chef/deprecated.rb
index d67cee8153..4a2ac69b04 100644
--- a/lib/chef/deprecated.rb
+++ b/lib/chef/deprecated.rb
@@ -241,6 +241,10 @@ class Chef
target 30
end
+ class ResourceNameWithoutProvides < Base
+ target 31
+ end
+
class Generic < Base
def url
"https://docs.chef.io/chef_deprecations_client/"
diff --git a/lib/chef/resource/lwrp_base.rb b/lib/chef/resource/lwrp_base.rb
index cd8086d0ce..3c0da3f422 100644
--- a/lib/chef/resource/lwrp_base.rb
+++ b/lib/chef/resource/lwrp_base.rb
@@ -65,6 +65,12 @@ class Chef
LWRPBase.loaded_lwrps[filename] = true
+ unless resource_class.resource_name.nil?
+ if Chef.resource_handler_map.get(node, resource_class.resource_name, canonical: true) == resource_class
+ Chef.deprecated(:resource_name_without_provides, "Resource #{resource_class.resource_name} needs `provides :#{resource_class.resource_name}` in addition to `resource_name :#{resource_class.resource_name}` declaration")
+ end
+ end
+
# wire up the default resource name after the class is parsed only if we haven't declared one.
# (this ordering is important for MapCollision deprecation warnings)
resource_class.resource_name resource_name.to_sym if resource_class.resource_name.nil?