lib/ridley/resources/environment_resource.rb in ridley-0.11.2 vs lib/ridley/resources/environment_resource.rb in ridley-0.12.0.rc1
- old
+ new
@@ -2,9 +2,28 @@
# @author Jamie Winsor <reset@riotgames.com>
class EnvironmentResource < Ridley::Resource
set_resource_path "environments"
represented_by Ridley::EnvironmentObject
+ # Used to return a hash of the cookbooks and cookbook versions (including all dependencies)
+ # that are required by the run_list array.
+ #
+ # @param [String] environment
+ # name of the environment to run against
+ # @param [Array] run_list
+ # an array of cookbooks to satisfy
+ #
+ # @raise [Errors::ResourceNotFound] if the given environment is not found
+ #
+ # @return [Hash]
+ def cookbook_versions(environment, run_list = [])
+ run_list = Array(run_list).flatten
+ chef_id = environment.respond_to?(:chef_id) ? environment.chef_id : environment
+ request(:post, "#{self.class.resource_path}/#{chef_id}/cookbook_versions", MultiJson.encode(run_list: run_list))
+ rescue Errors::HTTPNotFound => ex
+ abort Errors::ResourceNotFound.new(ex)
+ end
+
# Delete all of the environments on the client. The '_default' environment
# will never be deleted.
#
# @return [Array<Ridley::EnvironmentObject>]
def delete_all