summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@chef.io>2020-07-01 15:37:46 -0700
committerGitHub <noreply@github.com>2020-07-01 15:37:46 -0700
commitb85012390a3e0a9938061d62f9d904206d9a6750 (patch)
tree32ede3aa9aea76bea4eb86b5194dc4a466798656
parent8ef6b65b7badc6cd66e7dbefc24a91522da916e5 (diff)
parent6bd16a6933cd6a1dc7e881e651b00786dc5b9510 (diff)
downloadchef-b85012390a3e0a9938061d62f9d904206d9a6750.tar.gz
Merge pull request #10090 from chef/lcg/resource_name_without_provides
Add resource_name_without_provides deprecation
-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?