**Language / Язык:** [English](README.md) | [Русский](README.ru.md)

# Исполняемые client cookbooks

Сопровождающий код к [docs/ru/clients.md](../docs/ru/clients.md) и
[docs/ru/examples/](../docs/ru/examples/overview.md).

## Требования

```bash
make up
VSPHERE_PROFILE=demo-cluster make seed   # or small / large
```

Учётные данные лаборатории по умолчанию: `administrator@vsphere.local` / `VMware1!`.

## Нативные smoke vSphere

```bash
python examples/python/vsphere_rest_smoke.py https://localhost
python examples/python/vsphere_soap_smoke.py https://localhost
python examples/python/vsphere_lifecycle.py   # REST create/power/guest FS + SOAP CreateVM
python examples/python/requests_cookbook.py   # raw requests, no SDK
ansible-playbook -i examples/ansible/inventory.ini examples/ansible/vsphere_playbook.yml
cd examples/terraform/vsphere && terraform init && terraform apply
cd examples/pulumi && pulumi up
cd examples/go && go run .
cd examples/java && javac Cookbook.java && java Cookbook
cd examples/perl && cpanm --installdeps . && perl cookbook.pl
make vsphere-surface
```

## Структура

| Путь | Стек |
|---|---|
| `python/vsphere_*.py` | Нативные REST + SOAP smokes / lifecycle |
| `python/requests_cookbook.py` | Raw `requests` REST cookbook (session, create/power/delete) |
| `ansible/vsphere_playbook.yml` | Ansible REST lifecycle |
| `terraform/vsphere/` | Terraform `hashicorp/vsphere` (SOAP-backed provider) |
| `pulumi/` | Pulumi REST `ComponentResource` |
| `go/`, `java/`, `perl/` | Минимальные REST cookbook на других языках (stdlib HTTP-клиенты, сессия Basic-auth) |

Независимый lab-набор на `pulumi-vsphere` живёт в
[`pulumi-tests/`](../pulumi-tests/README.ru.md) — из корня репозитория:
`make pulumi-tests` (или `make test-pulumi` внутри этой директории).

Гайды: [docs/ru/examples/](../docs/ru/examples/overview.md). Матрица покрытия:
[docs/ru/api-coverage.md](../docs/ru/api-coverage.md).
