module IDRAC::Power
def wait_for_power_state(target_state:, tries: 6)
def wait_for_power_state(target_state:, tries: 6) retry_count = tries while retry_count > 0 begin current_state = get_power_state return true if current_state == target_state puts "Waiting for power #{target_state == 'On' ? 'on' : 'off'}...".yellow puts "Current state: #{current_state}" retry_count -= 1 sleep 8 rescue => e puts "Error checking power state: #{e.message}".red retry_count -= 1 sleep 5 end end puts "Failed to reach power state #{target_state}".red return false end