summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchouseknecht <chouseknecht@ansible.com>2016-04-25 16:21:39 -0400
committerchouseknecht <chouseknecht@ansible.com>2016-04-25 23:37:23 -0400
commit1613b469c9d6fc57a9d8e6912aedea912801a336 (patch)
tree4167e42bfe27c29107d12cec8339bb99be958540
parent530b1faae562e63743a2b52c0de3e3e3d27b92fb (diff)
downloadansible-modules-core-1613b469c9d6fc57a9d8e6912aedea912801a336.tar.gz
Reduced states to present and absent. Power states are now bool options.
-rw-r--r--cloud/azure/azure_rm_virtualmachine.py60
1 files changed, 31 insertions, 29 deletions
diff --git a/cloud/azure/azure_rm_virtualmachine.py b/cloud/azure/azure_rm_virtualmachine.py
index d2988c4d..a7ced454 100644
--- a/cloud/azure/azure_rm_virtualmachine.py
+++ b/cloud/azure/azure_rm_virtualmachine.py
@@ -47,28 +47,32 @@ options:
description:
- Assert the state of the virtual machine.
- State 'present' will check that the machine exists with the requested configuration. If the configuration
- of the existing machine does not match, the machine will be updated. If the machine is updated, it will
- be left in a powered on or running state. Otherwise, the final state of the machine will remain untouched.
- - State 'started' will also check that the machine exists with the requested configuration, updating it, if
- needed and leaving the machine in a powered on state.
- - State 'stopped' will also check that the machine exists with the requested configuration, updating it, if
- needed and leaving the machine in a powered off state. Pass deallocate to put the machine in a
- 'deallocated' state.
- default: started
+ of the existing machine does not match, the machine will be updated. Use options start, stop,
+ deallocate and restart to change the machine's power state.
+ - State 'absent' will remove the virtual machine.
+ default: present
required: false
choices:
- absent
- present
- - started
- - stopped
+ start:
+ description:
+ - Use with state 'present' to start the machine.
+ default: true
+ required: false
+ stop:
+ description:
+ - Use with state 'present' to stop the machine.
+ default: false
+ required: false
deallocate:
description:
- - Use with state 'stopped' to put the VM in a deallocated state.
+ - Use with state 'present' to put the VM in a deallocated state.
default: false
required: false
restart:
description:
- - Use with state 'present' or 'started' to restart a running VM.
+ - Use with state 'present' to restart a running VM.
default: false
required: false
location:
@@ -279,13 +283,12 @@ EXAMPLES = '''
azure_rm_virtualmachine:
resource_group: Testing
name: testvm002
- state: stopped
+ stop: yes
- name: Deallocate
azure_rm_virtualmachine:
resource_group: Testing
name: testvm002
- state: stopped
deallocate: yes
- name: Power On
@@ -302,11 +305,6 @@ EXAMPLES = '''
'''
RETURN = '''
-changed:
- description: Whether or not the object was changed.
- returned: always
- type: bool
- sample: True
actions:
description: List of descriptive actions performed by the module.
returned: always
@@ -315,7 +313,7 @@ actions:
"Powered on virtual machine testvm10"
]
differences:
- description: List of differences between the requested configuraiton and actual VM configuration.
+ description: List of differences between the requested configuration and actual VM configuration.
returned: always
type: list
sample: []
@@ -495,7 +493,7 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
self.module_arg_spec = dict(
resource_group=dict(type='str', required=True),
name=dict(type='str', required=True),
- state=dict(choices=['present', 'absent', 'started', 'stopped'], default='started', type='str'),
+ state=dict(choices=['present', 'absent'], default='present', type='str'),
location=dict(type='str'),
short_hostname=dict(type='str'),
vm_size=dict(type='str', choices=[], default='Standard_D1'),
@@ -520,7 +518,9 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
virtual_network_name=dict(type='str', aliases=['virtual_network']),
subnet_name=dict(type='str', aliases=['subnet']),
deallocate=dict(type='bool', default=False),
- restart=dict(type='bool', default=False)
+ restart=dict(type='bool', default=False),
+ start=dict(type='bool', default=True),
+ stop=dict(type='bool', default=False),
)
for key in VirtualMachineSizeTypes:
@@ -554,6 +554,8 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
self.subnet_name = None
self.deallocate = None
self.restart = None
+ self.start = None
+ self.stop = None
self.results = dict(
changed=False,
@@ -585,7 +587,7 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
# Set default location
self.location = resource_group.location
- if self.state in ('present', 'started', 'stopped'):
+ if self.state == 'present':
# Verify parameters and resolve any defaults
if self.vm_size and not self.vm_size_is_valid():
@@ -634,7 +636,7 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
self.check_provisioning_state(vm, self.state)
vm_dict = self.serialize_vm(vm)
- if self.state in ('present', 'started', 'stopped'):
+ if self.state == 'present':
differences = []
current_nics = []
results = vm_dict
@@ -671,21 +673,21 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
self.results['differences'] = differences
- if self.state == 'started' and vm_dict['powerstate'] != 'running':
+ if self.start and vm_dict['powerstate'] != 'running':
self.log("CHANGED: virtual machine {0} not running and requested state 'running'".format(self.name))
changed = True
powerstate_change = 'poweron'
- elif self.state in ('started', 'present') and vm_dict['powerstate'] == 'running' and self.restart:
+ elif self.state == 'present' and vm_dict['powerstate'] == 'running' and self.restart:
self.log("CHANGED: virtual machine {0} {1} and requested state 'restarted'"
.format(self.name, vm_dict['powerstate']))
changed = True
powerstate_change = 'restarted'
- elif self.state == 'stopped' and self.deallocate and vm_dict['powerstate'] != 'deallocated':
+ elif self.state == 'present' and self.deallocate and vm_dict['powerstate'] != 'deallocated':
self.log("CHANGED: virtual machine {0} {1} and requested state 'deallocated'"
.format(self.name, vm_dict['powerstate']))
changed = True
powerstate_change = 'deallocated'
- elif self.state == 'stopped' and vm_dict['powerstate'] == 'running':
+ elif self.stop and vm_dict['powerstate'] == 'running':
self.log("CHANGED: virtual machine {0} running and requested state 'stopped'".format(self.name))
changed = True
powerstate_change = 'poweroff'
@@ -710,7 +712,7 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
return self.results
if changed:
- if self.state in ('present', 'started', 'stopped'):
+ if self.state == 'present':
if not vm:
# Create the VM
self.log("Create virtual machine {0}".format(self.name))