docs: def set_host_power(self, power):
          """Toggle the power button of server.
  
          :param power: 'ON' or 'OFF'
          :raises: IloError, on an error from iLO.
          """
          power = power.upper()
          if (power is not None) and (power not in POWER_STATE):
              msg = ("Invalid input '%(pow)s'. "
                     "The expected input is ON or OFF." %
                     {'pow': power})
              raise exception.IloInvalidInputError(msg)
  
          # Check current power status, do not act if it's in requested state.
          cur_status = self.get_host_power_status()
  
          if cur_status == power:
              LOG.debug(self._("Node is already in '%(power)s' power state."),
                        {'power': power})
              return
          if power == 'ON' and 'PROLIANT BL' in self.get_product_name().upper():
              self._retry_until_powered_on(power)
          else:
              self._perform_power_op(POWER_STATE[power])