Sha256: 26dc3e5c5310a2683601203c7f96c6682d4afef8574851ca3ba83bd7cd602566

Contents?: true

Size: 1.32 KB

Versions: 59

Compression:

Stored size: 1.32 KB

Contents

module Ridley
  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", JSON.fast_generate(run_list: run_list))
    rescue AbortError => ex
      if ex.cause.is_a?(Errors::HTTPNotFound)
        abort Errors::ResourceNotFound.new(ex)
      end
      abort(ex.cause)
    end

    # Delete all of the environments on the client. The '_default' environment
    # will never be deleted.
    #
    # @return [Array<Ridley::EnvironmentObject>]
    def delete_all
      envs = all.reject { |env| env.name.to_s == '_default' }
      envs.collect { |resource| future(:delete, resource) }.map(&:value)
    end
  end
end

Version data entries

59 entries across 59 versions & 1 rubygems

Version Path
ridley-5.1.1 lib/ridley/resources/environment_resource.rb
ridley-5.1.0 lib/ridley/resources/environment_resource.rb
ridley-5.0.0 lib/ridley/resources/environment_resource.rb
ridley-4.6.1 lib/ridley/resources/environment_resource.rb
ridley-4.6.0 lib/ridley/resources/environment_resource.rb
ridley-4.5.1 lib/ridley/resources/environment_resource.rb
ridley-4.5.0 lib/ridley/resources/environment_resource.rb
ridley-4.4.3 lib/ridley/resources/environment_resource.rb
ridley-4.4.2 lib/ridley/resources/environment_resource.rb
ridley-4.4.1 lib/ridley/resources/environment_resource.rb
ridley-4.4.0 lib/ridley/resources/environment_resource.rb
ridley-4.3.2 lib/ridley/resources/environment_resource.rb
ridley-4.3.1 lib/ridley/resources/environment_resource.rb
ridley-4.3.0 lib/ridley/resources/environment_resource.rb
ridley-4.2.0 lib/ridley/resources/environment_resource.rb
ridley-4.1.2 lib/ridley/resources/environment_resource.rb
ridley-4.1.1 lib/ridley/resources/environment_resource.rb
ridley-4.1.0 lib/ridley/resources/environment_resource.rb
ridley-4.0.0 lib/ridley/resources/environment_resource.rb
ridley-3.1.0 lib/ridley/resources/environment_resource.rb