**Language / Язык:** [English](../api-versions.md) | [Русский](api-versions.md) # Версии API (vSphere catalog majors 6–9) Web UI и evidence/compatibility отчёты просматривают четыре целочисленных **catalog majors**, которые сопоставляются с label floors vSphere Automation API: | Major | Метка vSphere | Строка версии contract | |---|---|---| | 6 | 7.0 | `7.0.0` | | 7 | 7.0 U3 | `7.0.3` | | 8 | 8.0 | `8.0.0` | | 9 | 8.0 U2 (Automation 9.1 surface) | `8.0.2` | Определения находятся в [`app/vsphere/contracts/matrix.py`](../../app/vsphere/contracts/matrix.py) (`VERSIONS`, `PATH_FLOOR`). Каждый зарегистрированный REST path имеет **floor** — наименьший major, при котором он появляется в catalog — из того же модуля. Undated paths по умолчанию получают наивысший major (9), пока не catalogued. ## Runtime vs catalog Это самое важное различие в проекте: - **Catalog major** — управляет тем, что показывает Web UI endpoint tree, `/ui/api/catalog`, и compatibility/evidence отчёты для данного major. - **Runtime surface** — симулятор всегда обслуживает **полную зарегистрированную route table** с deep handlers или DB-backed stubs, независимо от активного catalog major. Известный path никогда не возвращается как HTTP 501 из-за version floor. Hot-swap catalog major — это **documentation/browse** переключатель, а не compatibility gate для live traffic. См. [`available_for_request()`](../../app/vsphere/contracts/matrix.py) для точной политики. ## Cold start `GET /api/appliance/system/version` сообщает version string текущего выбранного runtime source (по умолчанию `8.0.2` / major 9, если процесс не переопределяет `app.state.runtime_source_version`). ## Hot-swap (catalog browse) Просматривайте любой major в Web UI catalog или вызывайте: ```http POST /ui/api/contract/apply?major=7 ``` Эффекты: - Web UI catalog, `/ui/api/compatibility` и evidence отчёты переключаются на floor major 7 и ledger (`evidence/vsphere-7.0.3.json`). - Изменение **process-local** и **не сохраняется**; restart возвращает default (major 9). - Зарегистрированные REST/SOAP routes продолжают отвечать своими реальными handlers независимо от применённого major. ### Рекомендации для клиентов - Большинству клиентов (pyvmomi, govmomi, Terraform, Pulumi, Ansible `uri`) не нужно pin'ить catalog major — runtime surface не меняет форму на его основе. - Используйте catalog majors, когда нужно, чтобы Web UI / evidence view отражали более старую метку vSphere для документации или скриншотов. - После apply перепроверьте `/ui/api/compatibility?major=N` для активного catalog state. ## Регенерация catalog artifacts ```bash make vsphere-bundles # stub OpenAPI matrices + evidence ledgers make vsphere-universe # regenerate universe.json from the Broadcom operations index make evidence # regenerate per-major verified surface evidence ledgers ``` См. [Поверхность API](api-surface.md) и [Совместимость](compatibility.md).