code: async def run(self, command, timeout=None):
          
          action = client.ActionFacade.from_connection(self.connection)
  
          log.debug(
              'Running `%s` on %s', command, self.name)
  
          if timeout:
              # Convert seconds to nanoseconds
              timeout = int(timeout * 1000000000)
  
          res = await action.Run(
              [],
              command,
              [],
              timeout,
              [self.name],
          )
          return await self.model.wait_for_action(res.results[0].action.tag)
docs: Run command on this unit.
  
          :param str command: The command to run
          :param int timeout: Time, in seconds, to wait before command is
          considered failed
          :returns: A :class:`juju.action.Action` instance.