refactor: restructure project — separate tools, config, generated, provider

TOOLS/        — generators + scripts + config + ARCHITECTURE.md
  ├── yaml-generator/    (code)
  ├── resource-generator/ (code)
  ├── docs-generator/    (code)
  ├── scripts/           (← devops/*.sh)
  ├── config/            (← devops/profiles/ + devops/config/)
  │   ├── test/          profile.env, services_list.txt, operation_timeouts.json
  │   ├── prod/
  │   └── dev/
  └── ARCHITECTURE.md    (← devops/ARCHITECTURE.md)

generated/    — pipeline output only (gitignored)
  ├── test/resources_yaml/, go/, docs/, provider_build/
  ├── prod/
  └── dev/

provider/     — code only, no generated files
  resources_yaml/        — DELETED (generated)
  internal/resources_gen/ — DELETED (generated)

devops/       — removed (replaced by TOOLS/scripts + TOOLS/config + generated/)

Generators now fail if NUBES_*_DIR not set (no defaults to provider/).
Provider requires pipeline to populate resources_gen/ before build.
This commit is contained in:
“Naeel”
2026-07-06 09:06:09 +04:00
parent c34db5e5e3
commit dd56bcda83
1285 changed files with 84004 additions and 1910 deletions
@@ -0,0 +1,36 @@
# Resource nubes_vcexternalip
Service ID: `25`
Service Name: Публичные IP адреса
[Manual](vcexternalip.md) | [Create params](vcexternalip_params_create.md) | [Modify params](vcexternalip_params_modify.md) | [Output params](vcexternalip_outputs.md) | [Operations](vcexternalip_ops.md) | [Example](vcexternalip_example.md)
## Create params
**Обязательные параметры (вводимые пользователем)**
<table class="resource-table resource-table-compact resource-table-required">
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Description</th><th>Constraints</th></tr></thead>
<tbody>
<tr><td>140</td><td><strong><code class="code-no-wrap">service_uid</code></strong></td><td><code>string</code></td><td></td><td></td></tr>
<tr><td>143</td><td><strong><code class="code-no-wrap">snat_create</code></strong></td><td><code>boolean</code></td><td>Необходимо создать SNAT-правило.<br/></td><td></td></tr>
<tr><td>144</td><td><strong><code class="code-no-wrap">internal_addr_access</code></strong></td><td><code>string</code></td><td>Внутренний адрес для связки ната. Требует dnatCreate=true или snatCreate=true</td><td></td></tr>
<tr><td>324</td><td><strong><code class="code-no-wrap">from_service_namespace</code></strong></td><td><code>string</code></td><td>Namespace составной услуги (для отображения правил FW)</td><td></td></tr>
<tr><td>325</td><td><strong><code class="code-no-wrap">from_service_cloud_edge_name</code></strong></td><td><code>string</code></td><td>Edge составной услуги (указывать, если resourceRealm связан с CloudDirector)</td><td></td></tr>
<tr><td>326</td><td><strong><code class="code-no-wrap">from_service_cloud_vdc_name</code></strong></td><td></td><td>Vdc составной услуги (указывать, если resourceRealm связан с CloudDirector)</td><td></td></tr>
<tr><td>327</td><td><strong><code class="code-no-wrap">from_service_cloud_org_name</code></strong></td><td><code>string</code></td><td>Org составной услуги (указывать, если resourceRealm связан с CloudDirector)</td><td></td></tr>
<tr><td>328</td><td><strong><code class="code-no-wrap">from_service_cloud_vmware_url</code></strong></td><td><code>string</code></td><td>Api-Url составной услуги (указывать, если resourceRealm связан с CloudDirector)</td><td></td></tr>
<tr><td>336</td><td><strong><code class="code-no-wrap">ip_space_name</code></strong></td><td><code>string</code></td><td>Тип ip Space (internet-ipv4-v1 / internet-antiddos-v1 / internet-no-antiddos-v1)</td><td></td></tr>
<tr><td>488</td><td><strong><code class="code-no-wrap">resource_realm</code></strong></td><td><code>string</code></td><td>Платформа для развертывания</td><td>func=getAvailableResourceRealms</td></tr>
<tr><td>624</td><td><strong><code class="code-no-wrap">from_service_cloud_edge_scope</code></strong></td><td><code>string</code></td><td></td><td></td></tr>
<tr><td>626</td><td><strong><code class="code-no-wrap">from_service_vdc_group_name</code></strong></td><td><code>string</code></td><td></td><td></td></tr>
</tbody></table>
**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте**
<table class="resource-table resource-table-compact">
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Default</th><th>Description</th><th>Constraints</th></tr></thead>
<tbody>
<tr><td>141</td><td><strong><code class="code-no-wrap">dnat_create</code></strong></td><td><code>boolean</code></td><td><code>true</code></td><td>Необходимо создать DNAT-правило.</td><td></td></tr>
<tr><td>142</td><td><strong><code class="code-no-wrap">internal_port_access</code></strong></td><td><code>string</code></td><td><code>5432</code></td><td>Порт для связки ната с адресом. Несколько значений можно передавать через пробел. Если передать all, то dnat будет на все порты. Требует dnatCreate=true<br/></td><td></td></tr>
</tbody></table>