vcenter_folder

vCenter folder (organizational hierarchy).

REST (/api/vcenter/folder) is read-only — list/get/list_by_type only. vCenter has never exposed folder create/delete through the modern vAPI surface; the only path is SOAP Folder.CreateFolder / Folder.Destroy_Task, so create() and delete() go through saltext.vcf.utils.vim instead of saltext.vcf.utils.vcenter.

saltext.vcf.clients.vcenter_folder.list_by_type(opts, folder_type, profile=None)[source]

folder_type: DATACENTER, DATASTORE, HOST, NETWORK, VIRTUAL_MACHINE.

saltext.vcf.clients.vcenter_folder.find_by_name(opts, name, profile=None)[source]

Return {"folder": <moId>, "name": name} for the first folder named name, or None. Resolved via SOAP since the REST list responses don’t carry name.

saltext.vcf.clients.vcenter_folder.create(opts, name, folder_type, parent=None, datacenter=None, profile=None)[source]

Create a folder named name of folder_type and return its moId.

folder_type is one of VIRTUAL_MACHINE, HOST, NETWORK, DATASTORE (top-level datacenter folders aren’t created this way — use vim.Folder.CreateFolder on content.rootFolder directly if that’s ever needed). parent nests the new folder under an existing folder found by name; otherwise it’s created at datacenter’s folder_type root.

saltext.vcf.clients.vcenter_folder.delete(opts, folder_id, profile=None)[source]

Delete the folder with moId folder_id. Fails if the folder isn’t empty.