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

# Pulumi

[`examples/pulumi/`](../../../examples/pulumi/) — Python-программа Pulumi на
официальном [`pulumi-vsphere`](https://www.pulumi.com/registry/packages/vsphere/)
(SOAP/VIM) против симулятора — тот же путь провайдера, что у Terraform
`hashicorp/vsphere`.

```bash
cd examples/pulumi
pip install -r requirements.txt
pulumi plugin install resource vsphere 4.17.0
pulumi stack init dev   # один раз
pulumi config set server localhost
pulumi config set --secret password 'VMware1!'
pulumi up
```

Конфигурация (`pulumi config set`): `server` (по умолчанию `localhost`), `user`
(по умолчанию `administrator@vsphere.local`), `password` (secret), `datacenter`,
`datastore`, `cluster`, `network`, `vm_name` (по умолчанию `pulumi-lab-01`).

Та же осторожность при reseed, что и для Terraform: состояние PostgreSQL
симулятора и state Pulumi независимы. Закрепите major каталога для
воспроизводимого CI, если ваш workflow зависит от вывода Web UI/evidence (см.
[Версии API](../api-versions.md)) — сами runtime-маршруты доступны всегда
независимо от major.

Для lab-набора (inventory + folder + VM + tags, проверки непустых export'ов,
HTML-отчёт) см. [`pulumi-tests/`](../../../pulumi-tests/README.ru.md) или
`make pulumi-tests` из корня репозитория.
