14 KiB
Data source функция dynamix_kvmvm_list служит для получения информации о списке компьютов.
Аргументы
Data source функция dynamix_kvmvm_list принимает следующие аргументы:
Аргумент | Тип | Обязательный | Описание |
---|---|---|---|
by_id | int | ❌ | Фильтр по ID |
name | string | ❌ | Фильтр по имени |
account_id | int | ❌ | Фильтр по ID аккаунта |
rg_id | int | ❌ | Фильтр по ID ресурсной группы |
rg_name | string | ❌ | Фильтр по имени рес. группы |
tech_status | string | ❌ | Фильтр по тех.статусу |
status | string | ❌ | Фильтр по статусу |
ip_address | string | ❌ | Фильтр по IP адресу |
extnet_name | string | ❌ | Фильтр по имени внешней сети |
extnet_id | int | ❌ | Фильтр по extnet ID |
includedeleted | bool | ❌ | Включить в результат удаленные ресурсы |
sort_by | string | ❌ | Фильтр по одному из поддерживаемых полей, формат: +или- название поля |
page | int | ❌ | Номер страниц |
size | int | ❌ | Размер страницы |
Возвращаемые значения
В случае успешного выполнения data source функция dynamix_kvmvm_list возвращает в указанную при вызове переменную, в поле items массив, каждый элемент которого состоит из следующих параметров:
Параметр | Тип | Описание |
---|---|---|
acl | []Struct см. ниже | Cписок Acces Control |
account_id | int | Уникальный идентификатор аккаунта-владельца ("account") данной виртуальной машины. |
account_name | string | Имя аккаунта, которому принадлежит данная виртуальная машина. |
affinity_label | string | Лейбл аффинити |
affinity_rules | []Struct см. ниже | Правила аффинити для компьютов |
affinity_weight | int | weight аффинити |
anti_affinity_rules | []Struct см. ниже | Правила анти аффинити для компьютов |
arch | string | Архитектура |
auto_start_w_node | bool | Автостарт при рестарте ноды |
boot_order | []string | Boot order |
boot_disk_size | int | Размер загрузочного диска в ГБ. |
chipset | string | Тип эмулируемой системы |
cd_image_id | int | ID cd image id |
cpu_pin | bool | Необходимость запускать ВМ на выделенных CPU ядрах |
clone_reference | int | кол-во клонов |
clones | []int | id клонов |
cpus | int | Количество виртуальных CPU, выделенных данному серверу |
created_by | string | Кес создан ресурс |
created_time | int | Время создания ресурса |
custom_fields | string | Кастомные поля |
deleted_by | string | Кем удален ресурс |
deleted_time | int | Время удаления ресурса |
desc | string | Текстовое описание виртуальной машины. |
devices | string | Девайсы |
disks | []Struct см. ниже | информация о дисках компьюта |
driver | string | Аппаратная архитектура данной виртуальной машины. |
gid | int | GID |
guid | int | GUID |
hp_backed | bool | Необходимость использовать для выделения RAM виртуальной машины Huge Pages ядрах |
compute_id | int | ID компьюта |
image_id | int | Идентификатор образа ОС, на базе которого создан загрузочный диск этой виртуальной машины. |
interfaces | []Struct см. ниже | Информация о интерфейсах компьюта |
lock_status | string | Статус доступности |
manager_id | int | Manager id |
manager_type | string | Type manager |
migrationjob | int | Migrationjob |
milestones | int | Вехи |
name | string | Имя виртуального сервера |
need_reboot | bool | Флаг, указывающий, что требуется перезагрузка |
numa_affinity | string | Необходимость выравнивать ВМ по NUMA |
numa_node_id | int | ID узла NUMA |
pinned | bool | добавлен ли компьют на стек |
preferred_cpu | []int | список ядер для использования в механизме vcpupinning |
ram | int | Объём оперативной памяти в МБ, выделенной этой виртуальной машине. |
reference_id | string | ID reference |
registered | bool | Компьют зарегестрирован |
res_name | string | Res name |
reserved_node_cpus | []int | Количество зарезервированных CPU в узле |
rg_id | int | Идентификатор ресурсной группы, к которой принадлежит виртуальная машина. |
rg_name | string | Имя ресурсной группы, к которой принадлежит виртуальная машина. |
snap_sets | []Struct см. ниже | Snap sets |
stateless_sep_id | int | ID сеп |
stateless_sep_type | string | Тип сеп |
status | string | Статус диска |
tags | []Struct см. ниже | Тэги |
tech_status | string | Технический статус диска |
total_disk_size | int | Размер диска |
updated_by | string | Кем обновлен ресурс |
updated_time | int | Время обновления ресурса |
user_managed | bool | User managed |
userdata | string | Параметры cloud_init |
vgpus | []int | Список vgpu |
vins_connected | int | Кол-во присоединенных винсов |
virtual_image_id | int | ID виртуального образа |
loader_type | string | Тип ВМ |
boot_type | string | Тип загрузки образа. Возможные значения - bios, uefi |
hot_resize | bool | Изменение размера ВМ |
network_interface_naming | string | Наименование сетевого интерфейса |
Описание структуры acl
Параметр | Тип | Описание |
---|---|---|
explicit | bool | Явно ли указан доступ |
guid | string | guid Ресурса |
right | string | Права на ресурс |
status | string | Статус ресурса |
type | string | Тип ресурса |
user_group_id | string | ID user group |
Описание структуры affinity rules
Параметр | Тип | Описание |
---|---|---|
guid | string | guid |
key | string | Ключ |
mode | string | Режим сравнения |
policy | string | Степень "строгости" этого правила |
topology | string | Топология |
value | string | Значение |
Описание структуры disks
| Параметр | Тип | Описание | | bus_number | int | Номер шины | | disk_id | int | ID диска | | pci_slot | int | id pci слота, к которому подключен диск |
Описание структуры interfaces
Параметр | Тип | Описание |
---|---|---|
bus_number | int | Номер шины |
conn_id | int | ID connect |
conn_type | string | Тип connect |
def_gw | string | Шлюз по умолчанию |
enabled | bool | Доступность подключения |
flip_group_id | int | id flip group |
guid | string | GUID |
ip_address | string | IP адрес |
libvirt_settings | []Struct{}см. ниже | Параметры libvirt virtio интерфейса |
listen_ssh | bool | открыт ли ssh connect |
mac | string | MAC адрес устройства |
name | string | Имя |
net_id | int | ID сети |
netmask | int | Маска сети |
net_type | string | Тип сети |
node_id | int | ID узла |
pci_slot | int | Pci Slot |
qos | []Struct{}см. ниже | QOS |
target | string | Цель сети |
type | string | Тип |
vnfs | []int | VNFS |
Описание структуры libvirt_settings
Параметр | Тип | Описание |
---|---|---|
guid | string | GUID |
txmode | string | TX mode |
ioeventfd | string | IO event |
event_idx | string | Event ID |
queues | int | Количество очередей |
rx_queue_size | int | Длина очереди RX |
tx_queue_size | int | Длина очереди TX |
Описание структуры qos
Параметр | Тип | Описание |
---|---|---|
e_rate | int | E rate |
guid | string | ID ресурса |
in_brust | int | In brust |
in_rate | int | In rate |
Описание структуры snap sets
Параметр | Тип | Описание |
---|---|---|
disks | []int | Список id дисков |
guid | string | GUID |
label | string | Лейбл |
timestamp | int | Время |
Описание структуры tags
Параметр | Тип | Описание |
---|---|---|
key | string | Ключ тэга |
val | string | Значение тэга |
Пример использования
data "dynamix_kvmvm_list" "compute_list" {
#фильтр по id ВМ
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени ВМ
#опциональный параметр
#тип - строка
#name = "test"
#id аккаунта для получения списка ВМ
#опциональный параметр
#тип - целое число
#account_id = 11111
#фильтр по имени ресурсной группы
#опциональный параметр
#тип - строка
#rg_name = "test"
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "STOPPED"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр по ip
#опциональный параметр
#тип - строка
#ip_address = "test"
#фильтр по имени extnet
#опциональный параметр
#тип - строка
#extnet_name = "test"
#фильтр по id extnet
#опциональный параметр
#тип - целое число
#extnet_id = 100
#флаг влючения в результат удаленных балансироващиков нагрузки
#опциональный параметр
#тип - булев
#значение по-умолчанию - false
#если не задан - выводятся все доступные неудаленные балансировщики
#includedeleted = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DYNAMIX см. соответствующий раздел).
После успешного завершения такого вызова data source функции dynamix_kvmvm_list в переменной data.dynamix_kvmvm_list.compute_list
будут сохранены возвращаемые значения.