class IDRAC::Firmware

def update(firmware_path, options = {})

def update(firmware_path, options = {})
  # Validate firmware file exists
  unless File.exist?(firmware_path)
    raise Error, "Firmware file not found: #{firmware_path}"
  end
  # Ensure we have a client
  raise Error, "Client is required for firmware update" unless client
  # Login to iDRAC
  client.login unless client.instance_variable_get(:@session_id)
  # Upload firmware file
  job_id = upload_firmware(firmware_path)
  
  # Check if we should wait for the update to complete
  if options[:wait]
    wait_for_job_completion(job_id, options[:timeout] || 3600)
  end
  job_id
end