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 виртуального образа |
Описание структуры 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
будут сохранены возвращаемые значения.