diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2018-04-12 18:01:38 -0700 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2018-04-12 18:01:38 -0700 |
commit | dd93333a3fc0851a0b63ec5bf63f67ce82ea4a21 (patch) | |
tree | f98a02afa5b7ae362f4bc67f471a5315d7ede5fa /lib/chef | |
parent | 84657b2e7ef92ac81d98e265db4305dfb6b5aab3 (diff) | |
download | chef-dd93333a3fc0851a0b63ec5bf63f67ce82ea4a21.tar.gz |
add the resources() dsl method to providerslcg/fix-resources-dsl-method
Custom resource actions were picking this up via delegation to
the wrapping resource, and that wiring was removed in 14, so that
API then got dropped accidentally. This should fix that back
up. It also consistently injects the resource APIs into resources
and providers both now (and consistently across core resources
and custom resources).
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
Diffstat (limited to 'lib/chef')
-rw-r--r-- | lib/chef/dsl/declare_resource.rb | 24 | ||||
-rw-r--r-- | lib/chef/recipe.rb | 8 | ||||
-rw-r--r-- | lib/chef/resource.rb | 22 |
3 files changed, 26 insertions, 28 deletions
diff --git a/lib/chef/dsl/declare_resource.rb b/lib/chef/dsl/declare_resource.rb index 0d727b4861..dc95489d52 100644 --- a/lib/chef/dsl/declare_resource.rb +++ b/lib/chef/dsl/declare_resource.rb @@ -1,7 +1,7 @@ #-- # Author:: Adam Jacob (<adam@chef.io>) # Author:: Christopher Walters -# Copyright:: Copyright 2008-2017, Chef Software Inc. +# Copyright:: Copyright 2008-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -166,6 +166,27 @@ class Chef resource end + # Find existing resources by searching the list of existing resources. Possible + # forms are: + # + # find(:file => "foobar") + # find(:file => [ "foobar", "baz" ]) + # find("file[foobar]", "file[baz]") + # find("file[foobar,baz]") + # + # Calls `run_context.resource_collection.find(*args)` + # + # The is backcompat API, the use of find_resource, below, is encouraged. + # + # @return the matching resource, or an Array of matching resources. + # + # @raise ArgumentError if you feed it bad lookup information + # @raise RuntimeError if it can't find the resources you are looking for. + # + def resources(*args) + run_context.resource_collection.find(*args) + end + # Lookup a resource in the resource collection by name. If the resource is not # found this will raise Chef::Exceptions::ResourceNotFound. This API is identical to the # resources() call and while it is a synonym it is not intended to deprecate that call. @@ -292,6 +313,7 @@ class Chef enclosing_provider: is_a?(Chef::Provider) ? self : nil ).build(&resource_attrs_block) end + end end end diff --git a/lib/chef/recipe.rb b/lib/chef/recipe.rb index 967703b629..f00b211630 100644 --- a/lib/chef/recipe.rb +++ b/lib/chef/recipe.rb @@ -1,7 +1,7 @@ #-- # Author:: Adam Jacob (<adam@chef.io>) # Author:: Christopher Walters (<cw@chef.io>) -# Copyright:: Copyright 2008-2017, Chef Software Inc. +# Copyright:: Copyright 2008-2018, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -66,12 +66,6 @@ class Chef run_context.node end - # Used by the DSL to look up resources when executing in the context of a - # recipe. - def resources(*args) - run_context.resource_collection.find(*args) - end - # This was moved to Chef::Node#tag, redirecting here for compatibility def tag(*tags) run_context.node.tag(*tags) diff --git a/lib/chef/resource.rb b/lib/chef/resource.rb index 46bc25b713..7cfb907795 100644 --- a/lib/chef/resource.rb +++ b/lib/chef/resource.rb @@ -23,6 +23,7 @@ require "chef/dsl/data_query" require "chef/dsl/registry_helper" require "chef/dsl/reboot_pending" require "chef/dsl/resources" +require "chef/dsl/declare_resource" require "chef/json_compat" require "chef/mixin/convert_to_class_name" require "chef/guard_interpreter/resource_guard_interpreter" @@ -51,6 +52,7 @@ class Chef # Generic User DSL (not resource-specific) # + include Chef::DSL::DeclareResource include Chef::DSL::DataQuery include Chef::DSL::RegistryHelper include Chef::DSL::RebootPending @@ -98,26 +100,6 @@ class Chef end # - # Find existing resources by searching the list of existing resources. Possible - # forms are: - # - # find(:file => "foobar") - # find(:file => [ "foobar", "baz" ]) - # find("file[foobar]", "file[baz]") - # find("file[foobar,baz]") - # - # Calls `run_context.resource_collection.find(*args)` - # - # @return the matching resource, or an Array of matching resources. - # - # @raise ArgumentError if you feed it bad lookup information - # @raise RuntimeError if it can't find the resources you are looking for. - # - def resources(*args) - run_context.resource_collection.find(*args) - end - - # # Resource User Interface (for users) # |