Resource nubes_vc_vm_v3 · Service ID: 28 · Service Name: Виртуальная машина¶
Manual · Create params · Modify params · Output params · Operations · Example
Create params¶
Обязательные параметры (вводимые пользователем)
| ID | Code | Type | Description | Constraints |
|---|---|---|---|---|
| 407 | vapp_uid | uuid | ref_svc_id=26 | |
| 411 | vm_disk | integer | Основной диск у vm зависит от образа (см. документацию) Если необходимо дополнительное место для vm, введите колличество Gb в эту форму | regex=^(?:$|(?:0|[1-9]\d{0,2}|1\d{3}|20(?:[0-3]\d|4[0-8])))$ |
| 412 | ip_space_name | string | ||
| 414 | image_vm | string | ||
| 415 | cloud_init | yaml | Формат файла cloud-init ``` #cloud-config manage_etc_hosts: true package_update: true ``` Если будут указана установка пакетов/прочего, доступ к ВМ **может быть предоставлен раньше чем выполнится cloud-init** | |
| 417 | user_public_key | string | Публичная часть SSH-Ключа для пользователя ``` $ ssh-keygen $ cat ~/.ssh/id_ed25519.pub ``` |
Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте
| ID | Code | Type | Default | Description | Constraints |
|---|---|---|---|---|---|
| 408 | vm_name | string | web01 | regex=^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$ | |
| 409 | vm_cpu | integer | 1 | шт | minvalue=1; maxvalue=64 |
| 410 | vm_ram | integer | 1 | Gb | minvalue=1; maxvalue=256 |
| 413 | access_ip_list | array | ["0.0.0.0/0"] | Формат массива Каким адресам будет предоставлен доступ до вм Требует выделенного внешнего IP Если ничего не передано, то выставлено ["0.0.0.0/0"] | regex=^\[("[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}(/[0-9]{1,2})?"\s*,\s*)*"[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}(/[0-9]{1,2})?"\]$ |
| 416 | user_login | myuser | Учётка SSH | ||
| 448 | access_port_list | array-map-fixed | [{"port": "22", "type": "tcp"}, {"port": "10050", "type": "tcp"}] | Формат следующий: - **22/tcp** - доступ только для 22 по **tcp** - **53/udp** - доступ только для 53 по **udp** - **80/all** - доступ для 80 по **tcp/udp** Формат массива: - [{"port":"22","type":"all"}] | |
| 1118 | same_snat | boolean | false | Если выставить **false**, приложение будет опубликовано за общим SNAT Если выставить **true**, приложение будет опубликовано за внешним IP, который будет создан в процессе разворачивания услуги Если выставить **true** - общий SNAT становится необязательным | value_list=false, true |
accessPortList (map-fixed)¶
| ID | Code | Type | Required | Default | Description | Constraints |
|---|---|---|---|---|---|---|
| 682 | port | string | **yes** | 22 | ||
| 683 | type | string | **yes** | all | value_list=tcp, udp, all |
Параметры поведения (кратко)
По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
При `terraform destroy` или удалении ресурса из манифеста:
- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
- `false` — если ресурс уже есть, будет ошибка.
- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления.
По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
При `terraform destroy` или удалении ресурса из манифеста:
- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
- `false` — если ресурс уже есть, будет ошибка.
- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления.