Mini Shell
"""
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
Zerion Mini Shell 1.0