Edit file File name : runner.py Content :""" React by calling asynchronous runners """ import salt.runner def cmd(name, func=None, arg=(), **kwargs): """ Execute a runner asynchronous: USAGE: .. code-block:: yaml run_cloud: runner.cmd: - func: cloud.create - arg: - my-ec2-config - myinstance run_cloud: runner.cmd: - func: cloud.create - kwargs: provider: my-ec2-config instances: myinstance """ ret = {"name": name, "changes": {}, "comment": "", "result": True} if func is None: func = name local_opts = {} local_opts.update(__opts__) local_opts["async"] = True # ensure this will be run asynchronous local_opts.update({"fun": func, "arg": arg, "kwarg": kwargs}) runner = salt.runner.Runner(local_opts) runner.run() return ret Save