# class Chef::Provider::Execute

### Public Instance Methods

action_run() click to toggle source

    # File lib/chef/provider/execute.rb, line 37
    def action_run
      opts = {}

      if sentinel_file = sentinel_file_if_exists
        Chef::Log.debug("#{@new_resource} sentinel file #{sentinel_file} exists - nothing to do")
        return false
      end

      # original implementation did not specify a timeout, but ShellOut
      # *always* times out. So, set a very long default timeout
      opts[:timeout] = @new_resource.timeout || 3600
      opts[:returns] = @new_resource.returns if @new_resource.returns
      opts[:environment] = @new_resource.environment if @new_resource.environment
      opts[:user] = @new_resource.user if @new_resource.user
      opts[:group] = @new_resource.group if @new_resource.group
      opts[:cwd] = @new_resource.cwd if @new_resource.cwd
      opts[:umask] = @new_resource.umask if @new_resource.umask
      opts[:log_level] = :info
      opts[:log_tag] = @new_resource.to_s
      if STDOUT.tty? && !Chef::Config[:daemon] && Chef::Log.info?
        opts[:live_stream] = STDOUT
      end
      converge_by("execute #{@new_resource.command}") do
        result = shell_out!(@new_resource.command, opts)
        Chef::Log.info("#{@new_resource} ran successfully")
      end
    end

load_current_resource() click to toggle source

    # File lib/chef/provider/execute.rb, line 29
    def load_current_resource
      true
    end

whyrun_supported?() click to toggle source

    # File lib/chef/provider/execute.rb, line 33
    def whyrun_supported?
      true
    end