async def run_action(self, action_name, **params):
        """Run an action on this unit.

        :param str action_name: Name of action to run
        :param **params: Action parameters
        :returns: A :class:`juju.action.Action` instance.

        Note that this only enqueues the action.  You will need to call
        ``action.wait()`` on the resulting `Action` instance if you wish
        to block until the action is complete.

        """
        action_facade = client.ActionFacade.from_connection(self.connection)

        log.debug('Starting action `%s` on %s', action_name, self.name)

        res = await action_facade.Enqueue([client.Action(
            name=action_name,
            parameters=params,
            receiver=self.tag,
        )])
        action = res.results[0].action
        error = res.results[0].error
        if error and error.code == 'not found':
            raise ValueError('Action `%s` not found on %s' % (action_name,
                                                              self.name))
        elif error:
            raise Exception('Unknown action error: %s' % error.serialize())
        action_id = action.tag[len('action-'):]
        log.debug('Action started as %s', action_id)
        # we mustn't use wait_for_action because that blocks until the
        # action is complete, rather than just being in the model
        return await self.model._wait_for_new('action', action_id)
async def run_action ( self , action_name , ** params ) : action_facade = client . ActionFacade . from_connection ( self . connection ) log . debug ( 'Starting action `%s` on %s' , action_name , self . name ) res = await action_facade . Enqueue ( [ client . Action ( name = action_name , parameters = params , receiver = self . tag , ) ] ) action = res . results [ 0 ] . action error = res . results [ 0 ] . error if error and error . code == 'not found' : raise ValueError ( 'Action `%s` not found on %s' % ( action_name , self . name ) ) elif error : raise Exception ( 'Unknown action error: %s' % error . serialize ( ) ) action_id = action . tag [ len ( 'action-' ) : ] log . debug ( 'Action started as %s' , action_id ) return await self . model . _wait_for_new ( 'action' , action_id )
Run an action on this unit.

        :param str action_name: Name of action to run
        :param **params: Action parameters
        :returns: A :class:`juju.action.Action` instance.

        Note that this only enqueues the action.  You will need to call
        ``action.wait()`` on the resulting `Action` instance if you wish
        to block until the action is complete.