Initial commit: VMware vSphere API simulator scaffold.
Add the FastAPI app, PostgreSQL migrations, Docker/Helm packaging, API contracts, docs, client examples, and the unit/integration/compatibility test suite for local client and tooling labs without a real vCenter.
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
**Language / Язык:** [English](overview.md) | [Русский](../ru/examples/overview.md)
|
||||
|
||||
# Client examples overview
|
||||
|
||||
## Bring-up checklist
|
||||
|
||||
```bash
|
||||
make up
|
||||
curl -skf https://localhost/health/ready
|
||||
make seed
|
||||
curl -sk https://localhost/api/appliance/system/version
|
||||
```
|
||||
|
||||
## Endpoints
|
||||
|
||||
| URL | When |
|
||||
|---|---|
|
||||
| `https://localhost` | curl, pyvmomi, govmomi, Terraform, Pulumi, Ansible, Go, Java, Perl — everything in `examples/` |
|
||||
| `http://localhost` | Plain-HTTP lab face (no TLS handshake needed) |
|
||||
|
||||
## Auth quick reference
|
||||
|
||||
**Session (REST)**
|
||||
|
||||
```bash
|
||||
SID=$(curl -sk -u 'administrator@vsphere.local:VMware1!' \
|
||||
-X POST https://localhost/api/session | tr -d '"')
|
||||
curl -sk -H "vmware-api-session-id: $SID" https://localhost/api/vcenter/vm
|
||||
```
|
||||
|
||||
**SOAP Login**
|
||||
|
||||
```bash
|
||||
python examples/python/vsphere_soap_smoke.py https://localhost
|
||||
```
|
||||
|
||||
## Task waiting
|
||||
|
||||
Never treat the mutation HTTP response alone as "VM running". Power, clone,
|
||||
relocate, snapshot, and OVF-deploy calls return `{ "task": "task-…" }`; poll
|
||||
`GET /api/cis/tasks/{task}` until `status` is `SUCCEEDED` or `FAILED`. See
|
||||
[Tasks](../domains/tasks.md).
|
||||
|
||||
## Reseed warning
|
||||
|
||||
`make seed` replaces the PostgreSQL inventory. Refresh Terraform/Pulumi/Ansible
|
||||
state afterwards — see [Seed profiles](../seed-profiles.md).
|
||||
|
||||
## Runnable tree
|
||||
|
||||
See [`examples/README.md`](../../examples/README.md). The official
|
||||
`pulumi-vsphere` lab suite lives under
|
||||
[`pulumi-tests/`](../../pulumi-tests/README.md) (`make pulumi-tests`).
|
||||
Reference in New Issue
Block a user