| Total Complexity | 4 |
| Total Lines | 27 |
| Duplicated Lines | 0 % |
| 1 | from pyVmomi import vim |
||
| 6 | class SetVM(BaseAction): |
||
| 7 | def run(self, vm, alternate_guest_name=None, description=None, guest_id=None, memory_mb=None, |
||
| 8 | name=None, num_cpu=None, vm_swapfile_policy=None): |
||
| 9 | vm_swapfile_policy = vm_swapfile_policy.lower() if vm_swapfile_policy else None |
||
| 10 | |||
| 11 | si = self.si |
||
| 12 | |||
| 13 | vm_obj = vim.VirtualMachine(vm, stub=si._stub) |
||
| 14 | |||
| 15 | # convert ids to stubs |
||
| 16 | spec = vim.vm.ConfigSpec() |
||
| 17 | spec.alternateGuestName = alternate_guest_name |
||
| 18 | spec.annotation = description |
||
| 19 | spec.guestId = guest_id |
||
| 20 | spec.memoryMB = memory_mb |
||
| 21 | spec.name = name |
||
| 22 | spec.numCPUs = num_cpu |
||
| 23 | if vm_swapfile_policy == 'inhostdatastore': |
||
| 24 | spec.swapPlacement = 'hostLocal' |
||
| 25 | elif vm_swapfile_policy == 'withvm': |
||
| 26 | spec.swapPlacement = 'vmDirectory' |
||
| 27 | |||
| 28 | task = vm_obj.ReconfigVM_Task(spec) |
||
| 29 | |||
| 30 | success = self._wait_for_task(task) |
||
| 31 | |||
| 32 | return {'success': success} |
||
| 33 |