vim_vm¶
VM clone + create + reconfigure via SOAP.
REST (/api/vcenter/vm) covers basic VM lifecycle but lacks the
hardware-customization depth Terraform users expect (clone from
template with full vCPU/memory/disk/network override, guest OS
customization specs, etc.). This module exposes the SOAP path:
vim.VirtualMachine.CloneVM_Taskfor template/source clonesvim.Folder.CreateVM_Taskfor from-scratch VMsvim.VirtualMachine.ReconfigVM_Taskfor hardware-level edits
Disk/NIC management has its own dedicated modules (vim_vm_disk and
vim_vm_nic) since each has a richer surface.
- saltext.vcf.clients.vim_vm.clone(opts, source, name, *, folder=None, datastore=None, host=None, resource_pool=None, cluster=None, template=False, power_on=False, customization=None, cpu_count=None, memory_mb=None, annotation=None, profile=None)[source]¶
Clone source (VM or template) into a new VM named name.
All target placement fields accept either an MoID or a name. folder and datastore are required; resource_pool defaults to the root pool on cluster (or host) when omitted.
- saltext.vcf.clients.vim_vm.create(opts, name, folder, datastore, *, cpu_count=1, memory_mb=1024, guest_id='otherGuest64', cluster=None, host=None, resource_pool=None, annotation='', profile=None)[source]¶
Create a bare VM (no disks, no NICs).
- saltext.vcf.clients.vim_vm.reconfigure(opts, vm_id_or_name, *, cpu_count=None, cores_per_socket=None, memory_mb=None, annotation=None, advanced_settings=None, profile=None)[source]¶
Adjust VM hardware/metadata. Only non-None fields are touched.
- saltext.vcf.clients.vim_vm.get_advanced_settings(opts, vm_id_or_name, profile=None)[source]¶
Return the VM’s
extraConfigas a flat{key: value}dict.
- saltext.vcf.clients.vim_vm.destroy(opts, vm_id_or_name, profile=None)[source]¶
Power off (if needed) and destroy the VM. Returns task moId.
- saltext.vcf.clients.vim_vm.instant_clone(opts, source, name, *, folder=None, datastore=None, host=None, resource_pool=None, extra_config=None, profile=None)[source]¶
Instant-clone source (must be powered on) into a new VM name.
Returns task moId. Source must be running; the new VM inherits memory state. Far cheaper than a regular clone but defaults to same-host placement.
extra_config — optional
{key: value}dict applied as VM extraConfig options (e.g.{"guestinfo.role": "worker"}).
- saltext.vcf.clients.vim_vm.move_to_folder(opts, vm_id_or_name, folder, profile=None)[source]¶
Reparent vm_id_or_name under folder. Returns task moId.
- saltext.vcf.clients.vim_vm.register(opts, vmx_path, name, folder, *, resource_pool=None, cluster=None, host=None, as_template=False, profile=None)[source]¶
Register an existing .vmx as a new VM. Returns task moId.
vmx_path is the datastore path (e.g.
[ds1] vm/vm.vmx). One of resource_pool, cluster, or host is required.