docs: def update_firmware(self,
                          hardware_id,
                          ipmi=True,
                          raid_controller=True,
                          bios=True,
                          hard_drive=True):
          """Update hardware firmware.
  
          This will cause the server to be unavailable for ~20 minutes.
  
          :param int hardware_id: The ID of the hardware to have its firmware
                                  updated.
          :param bool ipmi: Update the ipmi firmware.
          :param bool raid_controller: Update the raid controller firmware.
          :param bool bios: Update the bios firmware.
          :param bool hard_drive: Update the hard drive firmware.
  
          Example::
  
              # Check the servers active transactions to see progress
              result = mgr.update_firmware(hardware_id=1234)
          """
  
          return self.hardware.createFirmwareUpdateTransaction(
              bool(ipmi), bool(raid_controller), bool(bios), bool(hard_drive), id=hardware_id)