Modern, agent-friendly CLI for VMware Cloud Foundation 9, with a command tree generated dynamically from the vcf-sdk vAPI bindings.
Project description
vcf-super-cli (vsc)
A modern, agent-friendly CLI for VMware Cloud Foundation 9. The command
tree is generated dynamically by introspecting the official
vcf-sdk vAPI bindings — so the surface
mirrors the real VCF 9 API instead of being hand-maintained.
$ vsc vsphere vm list --profile prod
$ vsc vsphere host get --host host-42
$ vsc nsx segments list --output table
$ vsc vsphere power stop vm-42 --apply # writes are dry-run without --apply
⚠️ Alpha / pre-release. Reads (vSphere + NSX inventory) and writes are both available. Writes are dry-run by default — nothing changes without
--apply, and a dry-run never opens a connection.
Why
- Mirrors the real API. Commands come from the SDK's own vAPI metadata
(
VapiInterfaceservices +OperationRestMetadata), covering both vCenter and NSX from one generator. - Modern. REST-first via
vmware-vcenter, withpyVmomias a fallback where REST lacks coverage. - Safe by default. Writes preview as dry-runs unless you pass
--apply; a dry-run never opens a connection. - Agent-friendly. Deterministic command shape, machine-readable JSON output, a stable error envelope with documented exit codes, and a bundled agent Skill.
Scope
| Area | Status |
|---|---|
vSphere / vCenter read (vsc vsphere …) |
✅ v0.1 |
NSX Policy API read (vsc nsx …) |
✅ v0.1 |
Writes — dry-run by default + --apply (vsc vsphere … / vsc nsx …) |
✅ v0.2 |
Ergonomics — offline shell completion, per-field filter flags + paging, pyVmomi fallback (perf/events/tasks/inventory) |
✅ v0.3 |
| Live resource-id completion | ✅ v0.4 |
Find VMs by attribute — IP / hostname / MAC / guest OS / power (vsc vsphere inventory find) |
✅ v0.5 |
| NSX Manager / Global-Manager, SDDC Manager, Operations, LCM | deferred |
Install
uv tool install vcf-super-cli # recommended
# or
pipx install vcf-super-cli
# or
pip install vcf-super-cli
From source:
uv sync && uv run vsc --help
Documentation
Full guide: thomaschristory.github.io/vcf-super-cli
License
Apache-2.0. See LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vcf_super_cli-0.5.0.tar.gz.
File metadata
- Download URL: vcf_super_cli-0.5.0.tar.gz
- Upload date:
- Size: 172.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a22ca52e53228a9fe34fa1bae966abd9fac52f15761250357b1b1ad504a745a7
|
|
| MD5 |
fdebd98b3c98fc55813285268564de0c
|
|
| BLAKE2b-256 |
17ebcc44794d401401c6f7850df64721fbf8ad92a9b30955cfb570d808ddb89f
|
Provenance
The following attestation bundles were made for vcf_super_cli-0.5.0.tar.gz:
Publisher:
release.yml on thomaschristory/vcf-super-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vcf_super_cli-0.5.0.tar.gz -
Subject digest:
a22ca52e53228a9fe34fa1bae966abd9fac52f15761250357b1b1ad504a745a7 - Sigstore transparency entry: 1758335309
- Sigstore integration time:
-
Permalink:
thomaschristory/vcf-super-cli@b74347d81404b4e83e4b3acf02ef75d83ec4c7ce -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/thomaschristory
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b74347d81404b4e83e4b3acf02ef75d83ec4c7ce -
Trigger Event:
push
-
Statement type:
File details
Details for the file vcf_super_cli-0.5.0-py3-none-any.whl.
File metadata
- Download URL: vcf_super_cli-0.5.0-py3-none-any.whl
- Upload date:
- Size: 63.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4142ac4f3c2eb5c529267780ca80fb26b23061eebf48b27ecdfd55e3beb6f64c
|
|
| MD5 |
80266045d4246d635d0d0a220ecd62cd
|
|
| BLAKE2b-256 |
a8016ea2d4b9f79f6db4367a92f082e619f73cc85cf6a973d4b6e867945353aa
|
Provenance
The following attestation bundles were made for vcf_super_cli-0.5.0-py3-none-any.whl:
Publisher:
release.yml on thomaschristory/vcf-super-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vcf_super_cli-0.5.0-py3-none-any.whl -
Subject digest:
4142ac4f3c2eb5c529267780ca80fb26b23061eebf48b27ecdfd55e3beb6f64c - Sigstore transparency entry: 1758335384
- Sigstore integration time:
-
Permalink:
thomaschristory/vcf-super-cli@b74347d81404b4e83e4b3acf02ef75d83ec4c7ce -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/thomaschristory
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b74347d81404b4e83e4b3acf02ef75d83ec4c7ce -
Trigger Event:
push
-
Statement type: