Merge pull request #5079 from candlerb/candlerb/virt_states
Additional target states for virt module: "destroyed" and "paused"
This commit is contained in:
commit
69d344986c
1 changed files with 14 additions and 3 deletions
17
cloud/virt
17
cloud/virt
|
@ -36,7 +36,7 @@ options:
|
||||||
since these refer only to VM states. After starting a guest, it may not
|
since these refer only to VM states. After starting a guest, it may not
|
||||||
be immediately accessible.
|
be immediately accessible.
|
||||||
required: false
|
required: false
|
||||||
choices: [ "running", "shutdown" ]
|
choices: [ "running", "shutdown", "destroyed", "paused" ]
|
||||||
default: "no"
|
default: "no"
|
||||||
command:
|
command:
|
||||||
description:
|
description:
|
||||||
|
@ -416,13 +416,24 @@ def core(module):
|
||||||
|
|
||||||
res['changed'] = False
|
res['changed'] = False
|
||||||
if state == 'running':
|
if state == 'running':
|
||||||
if v.status(guest) is not 'running':
|
if v.status(guest) is 'paused':
|
||||||
|
res['changed'] = True
|
||||||
|
res['msg'] = v.unpause(guest)
|
||||||
|
elif v.status(guest) is not 'running':
|
||||||
res['changed'] = True
|
res['changed'] = True
|
||||||
res['msg'] = v.start(guest)
|
res['msg'] = v.start(guest)
|
||||||
elif state == 'shutdown':
|
elif state == 'shutdown':
|
||||||
if v.status(guest) is not 'shutdown':
|
if v.status(guest) is not 'shutdown':
|
||||||
res['changed'] = True
|
res['changed'] = True
|
||||||
res['msg'] = v.shutdown(guest)
|
res['msg'] = v.shutdown(guest)
|
||||||
|
elif state == 'destroyed':
|
||||||
|
if v.status(guest) is not 'shutdown':
|
||||||
|
res['changed'] = True
|
||||||
|
res['msg'] = v.destroy(guest)
|
||||||
|
elif state == 'paused':
|
||||||
|
if v.status(guest) is 'running':
|
||||||
|
res['changed'] = True
|
||||||
|
res['msg'] = v.pause(guest)
|
||||||
else:
|
else:
|
||||||
module.fail_json(msg="unexpected state")
|
module.fail_json(msg="unexpected state")
|
||||||
|
|
||||||
|
@ -461,7 +472,7 @@ def main():
|
||||||
|
|
||||||
module = AnsibleModule(argument_spec=dict(
|
module = AnsibleModule(argument_spec=dict(
|
||||||
name = dict(aliases=['guest']),
|
name = dict(aliases=['guest']),
|
||||||
state = dict(choices=['running', 'shutdown']),
|
state = dict(choices=['running', 'shutdown', 'destroyed', 'paused']),
|
||||||
command = dict(choices=ALL_COMMANDS),
|
command = dict(choices=ALL_COMMANDS),
|
||||||
uri = dict(default='qemu:///system'),
|
uri = dict(default='qemu:///system'),
|
||||||
xml = dict(),
|
xml = dict(),
|
||||||
|
|
Loading…
Reference in a new issue