Changelog¶
The changelog format is based on Keep a Changelog.
This project uses Semantic Versioning - MAJOR.MINOR.PATCH
1.0.0 (2026-06-07)¶
No significant changes.
1.0.0 (2026-06-07)¶
Breaking changes¶
Renamed project from
saltext-vmwaretosaltext-vcf. The PyPI distribution, GitHub repository, and Python import path (saltext.vmware->saltext.vcf) all change. Salt loader module names also rename fromvmware_*tovcf_*(e.g.vmware_vcenter_appliance->vcf_vcenter_appliance); update any state, pillar, or CLI references accordingly. VMware-defined identifiers (vmware_accepted/vmware_certifiedVIB acceptance levels,vmware_soap_sessioncookie,vmware-api-session-idheader,pyvmomi,vmware-vcenter/vmware-vcfPyPI dependencies) are unchanged.
Removed¶
Removed the
installer_credentials,installer_logs, andinstaller_systemclients and execution modules. Their/v1/system/security/passwords//v1/system/log-bundles//v1/system/*endpoints did not exist on the actual VCF Installer build;installer_bringupandfleet_passwordremain as the verified installer-side surfaces.
Changed¶
ESXi standalone clients (
esxi_advanced,esxi_firewall,esxi_host,esxi_ntp,esxi_service,esxi_syslog) andutils/esxinow use pyVmomi SOAP (SmartConnect//sdk) instead of REST/api/session. Shuttle-deployed lab hosts omit the vAPI endpoint entirely, and ESXi joined to vCenter blocks/api/sessionwith HTTP 400; SOAP is the universally available surface. The execution-module names and dunder keys (vcf_esxi_*) are unchanged.
Fixed¶
Fix several vCenter 9 / VCF 9 REST body shapes discovered against the live lab:
vcenter_content_library.update_session_add_filenow uses the path-style/api/content/library/item/update-session/{session_id}/file?action=add(the legacy POST/updatesession/fileshape 404s on vSphere 9);vcenter_content_library.create_local/create_subscribedsend the spec at the root (no morecreate_specwrapper);vcenter_appliance.dns_set/logging_forwarding_setuse PUT (PATCH returns 405);sddc_certificates.create_csrssends{csrGenerationSpec, resources}instead of a flat list.VDS and DPG (Distributed Port Group) lifecycle mutators (
vim_dvs.create/reconfigure/delete/add_host/remove_host,vim_dvs_portgroup._add/reconfigure/delete) now wait on the underlying pyVmomi*_Taskbefore returning. A sharedutils/vim.wait_for_taskhelper drives the wait. Previously callers raced the task andlist_()could return a stale view immediately after a successful-looking create.nsx_ipsec_vpn.create_ike_profile/create_tunnel_profile/create_dpd_profilenow auto-inject the appropriateresource_type(IPSecVpnIkeProfile/IPSecVpnTunnelProfile/IPSecVpnDpdProfile) so NSX 9 stops rejecting the PUT with HTTP 400. Callers can still override viaresource_type=in the spec.
Added¶
Added a
CLI Example:doc-example harness:tests/_doc_examplesparses everysalt '*' <mod>.<func> ...line out of module docstrings and exposes them to two passes.tests/unit/test_doc_examplesis a signature-check pass that asserts the virtual module name resolves and the documented args bind to the function. The companion saltext-vcf-integration repo runs the same parsed examples against a live VCF lab.Bootstrap the VCF Installer onto a bare ESXi host via pyVmomi OVF deploy.
clients/ovf_deployadds a tarball-parse +OvfManager.CreateImportSpec+HttpNfcLeasePUT pipeline (with vmware_soap_session cookie +Overwrite: theader so ESXi’s ha-nfc daemon authorizes the upload), a streaming HTTPS PUT for multi-GB VMDKs, andwait_for_task-driven power-on. State modulevcf_installer_applianceexposes this as a declarativeinstaller.runningworkflow.New topology + tooling clients:
automation_topology(cross-component view of a VCF Automation deployment),installer_topology(introspects the bringup spec / running installer), andovftool_deploy(subprocess wrapper aroundovftoolfor callers that prefer it over the pure-pyVmomi path).The vCenter per-request HTTP timeout is now configurable.
utils/vcenter.api_*helpers accept an optionaltimeout=kwarg; the default is also tunable via thesaltext.vcf.vcenter.timeoutpillar key.vcenter_content_library.ovf_deploydefaults totimeout=1800(30 min) so OVF deploys no longer race the previous hard-coded 30 s read timeout.VCF Automation (VCFA / Aria Automation 9.x) end-to-end integration: new
utils/vcfawith two-step CSP refresh-token auth, per-(host,user) token cache, transparent bearer re-mint on 401, configurable per-request timeout, multipart helper, and await_for_deploymentpoller. Eighteen new client / execution-module pairs cover cloud accounts, cloud zones, storage profiles, network profiles, projects, project users, cloud templates (blueprint versions), policies, catalog (items + sources), vRO packages, vRO configuration elements, workflow runs, ABX actions, action secrets, action subscriptions, resource actions, IAM role bindings, and custom roles.VCF Operations fleet certificate management: new
vcfops_fleet_certificatesclient + module covering the fleet-wide certificate inventory, renewal scheduling, and rotation operations exposed by VCF Operations (separate from the truststore surface invcfops_certificate). Contributed byDenys Aleksandrov <https://github.com/denysaleksandrov>_.VCF Operations fleet password and certificate surfaces: new
vcfops_fleet_passwords(the VCF 9.x replacement for the SDDC-Manager-backedfleet_password) wraps/suite-api/api/fleet-management/password-managementwith paginatedlist_,get_account,update, and acheck_expiry(threshold_days=90)helper that buckets accounts intook/expiring/noExpirywith ISO-rendered expiry dates. Newvcfops_certificatewraps the VCF Ops truststore (/suite-api/api/certificate) for list / get / delete by thumbprint.
0.1.0 (2026-05-14)¶
Added¶
VCF Installer (formerly Cloud Builder) support: utils + clients for system/bringup/credentials/logs, modules, declarative bringup state, plus live lab spin-up/teardown coverage in the integration repo. #3