**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`).
