batch_deploy_from_spec
Deploy multiple virtual machines in one call using a declarative YAML spec file, with sequential provisioning and failure continuation for fleet deployments.
Instructions
[WRITE] Deploy multiple VMs in one call from a declarative YAML spec file.
Use for fleet provisioning (several VMs, shared defaults); for a single VM prefer deploy_vm_from_template, vm_clone, deploy_vm_from_ova, or deploy_linked_clone. The provisioning channel is chosen by spec keys: top-level "source" (full clone), "template", "linked_clone: {source, snapshot}", per-VM "ova", else empty-VM creation (optionally with "iso"). A "defaults" block sets cpu/memory_mb/disk_gb/network/ datastore/snapshot/power_on, overridable per VM. VMs deploy sequentially; one VM's failure is recorded and the rest continue. Audited to ~/.vmware/audit.db.
Args: spec_path: Local filesystem path to the deploy.yaml specification file. target: vCenter/ESXi target name from config.yaml; omit to use the default target.
Returns: One dict per VM: name, status ("ok" or "error"), and messages with per-step results.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| spec_path | Yes | ||
| target | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |