Data source функция dynamix_kvmvm служит для получения информации об уже существующей в облачной платформе виртуальной машине (Virtual Machine, VM), созданной на базе системы виртуализации KVM.
Аргументы
Data source функция dynamix_kvmvm принимает следующие аргументы:
Аргумент |
Тип |
Обязательный |
Описание |
compute_id |
int |
✔️ |
Идентификатор экземпляра compute, соответствующего данной виртуальной машине (подробнее о понятии compute см. в разделе Обзор облачной платформы DYNAMIX). |
Пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь доступ к указанному виртуальному серверу и ресурсной группе. В противном случае возникнет ошибка доступа.
Пользователь облачной платформы задается на стадии инициализации Terraform провайдера DYNAMIX (см. подробности).
Возвращаемые значения
В случае успешного выполнения data source функция dynamix_kvmvm возвращает в указанную при вызове переменную следующие значения:
Параметр |
Тип |
Описание |
acl |
[]Struct см. ниже |
Cписок Acces Control |
account_id |
int |
Уникальный идентификатор подписчика-владельца ("account") данной виртуальной машины |
account_name |
string |
Имя подписчика, которому принадлежит данная виртуальная машина |
affinity_label |
string |
Лейбл аффинити |
affinity_rules |
[]Struct см. ниже |
Правила аффинити для компьютов |
affinity_weight |
int |
weight аффинити |
arch |
string |
Архитектура |
boot_order |
[]string |
Boot order |
boot_disk_id |
int |
Идентификатор загрузочного диска виртуальной машины |
boot_disk_size |
int |
Размер загрузочного диска в ГБ |
cd_image_id |
int |
ID cd image id |
clone_reference |
int |
кол-во клонов |
clones |
[]int |
id клонов |
computeci_id |
int |
Id computeci |
cpu_pin |
bool |
Необходимость запускать ВМ на выделенных CPU ядрах |
cpus |
int |
Количество виртуальных CPU, выделенных данному серверу |
created_by |
string |
Кем создан ресурс |
created_time |
int |
Время создания ресурса |
custom_fields |
[]Struct см. ниже |
Кастомные поля |
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 ядрах |
image_id |
int |
Идентификатор образа ОС, на базе которого создан загрузочный диск этой виртуальной машины |
image_name |
string |
Имя образа ОС, на базе которого создан загрузочный диск этой виртуальной машины |
interfaces |
[]Struct см. ниже |
Информация о интерфейсах компьюта |
lock_status |
string |
Статус доступности |
manager_id |
int |
Manager id |
manager_type |
string |
Type manager |
migrationjob |
int |
Migrationjob |
milestones |
int |
Вехи |
name |
string |
Имя виртуального сервера |
natable_vins_id |
int |
NAT vins id |
natable_vins_ip |
string |
NAT vins ip |
natable_vins_name |
string |
NAT vins name |
natable_vins_network |
string |
NAT vins network |
natable_vins_network_name |
string |
NAT vins network name |
need_reboot |
bool |
флаг, указывающий, что требуется перезагрузка |
numa_affinity |
string |
Необходимость выравнивать ВМ по NUMA |
numa_node_id |
int |
ID узла NUMA |
os_users |
[]Struct см. ниже |
Имена и пароли пользователей гостевой ОС, установленные платформой при создании виртуального сервера. Формат структуры: * (string) login - учётная запись в гостевой ОС. * (string) password - пароль к этой учётной записи. |
pinned |
bool |
добавлен ли компьют на стек |
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 |
status |
string |
Cтатус |
tags |
map[string]string |
Тэги |
tech_status |
string |
Технический статус |
updated_by |
string |
Кем обновлен ресурс |
updated_time |
int |
Время обновления ресурса |
user_managed |
bool |
User managed |
userdata |
string |
Параметры cloud_init |
vgpus |
[]int |
Список vgpu |
virtual_image_id |
int |
ID виртуального образа |
virtual_image_name |
string |
Имя образа ОС, на базе которого создан загрузочный диск этой виртуальной машины |
Описание структуры acl
Параметр |
Тип |
Описание |
account_acl |
[]Struct см. ниже |
Информация о списке пользователей аккаунтов |
compute_acl |
[]Struct см. ниже |
Информация о списке пользователей компьютов |
rg_acl |
[]Struct см. ниже |
Информация о списке пользователей ресурной группы |
Описание структуры affinity rules
Параметр |
Тип |
Описание |
guid |
string |
guid |
key |
string |
Ключ |
mode |
string |
Режим сравнения |
policy |
string |
Степень "строгости" этого правила |
topology |
string |
Топология |
value |
string |
Значение |
Описание структуры List acl
Параметр |
Тип |
Описание |
explicit |
bool |
Явно ли указан доступ |
guid |
string |
guid Ресурса |
right |
string |
Права на ресурс |
status |
string |
Статус ресурса |
type |
string |
Тип ресурса |
user_group_id |
string |
ID user group |
Описание структуры custom fields
Параметр |
Тип |
Описание |
key |
string |
Ключ |
val |
string |
Значение |
Описание структуры os users
Параметр |
Тип |
Описание |
guid |
string |
GUID |
login |
string |
Логин |
password |
string |
Пароль |
public_key |
string |
Публичный ssh ключ |
Описание структуры disks
Параметр |
Тип |
Описание |
_ckey |
string |
ckey |
acl |
string |
Acces Control List |
account_id |
int |
ID аккаунта |
boot_partition |
int |
Загрузочный раздел |
created_time |
int |
Время создания диска |
deleted_time |
int |
Время удаления диска |
description |
string |
Описание |
destruction_time |
int |
Время удаления |
disk_path |
string |
Путь диска |
gid |
int |
GID |
guid |
int |
GUID |
disk_id |
int |
ID диска |
image_id |
int |
ID образа |
images |
[]int |
Список образов |
iotune |
[]Struct см. ниже |
Ограничения диска |
iqn |
string |
iqn диска |
login |
string |
Логин для доступа к диску |
milestones |
int |
Вехи |
name |
string |
Наименование диска |
order |
int |
Номер диска |
params |
string |
Параметры диска |
parent_id |
int |
id родительского диска |
passwd |
string |
Пароль для доступа к диску |
pci_slot |
int |
id pci слота, к которому подключен диск |
pool |
string |
Имя пула в системе хранения, на ресурсах которой размещён данный диск |
present_to |
[]int |
Список ID ресурсов, которым предоставлен диск |
purge_time |
int |
Время последней попытки |
replication |
Struct{} см. ниже |
Информация о реплике диска |
reality_device_number |
int |
Реальный номер устройства |
res_id |
int |
id ресурса |
role |
string |
Роль диска |
sep_id |
int |
Идентификатор Storage Endpoint Provider (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск |
shareable |
bool |
Флаг, отвечающий за доступность диска дургим ресурсам |
size_max |
int |
Размер диска в ГБ |
size_used |
float |
Кол-во используемого места, в ГБ |
snapshots |
[]Struct{}см. ниже |
Снимки состояния диска |
status |
string |
Статус диска |
tech_status |
string |
Технический статус диска |
type |
string |
Тип диска с точки зрения его роли в составе compute. Может принимать одно из фиксированных значений: "B" - признак загрузочного диска ("boot"). "D" - признак дополнительного диска ("data") |
vmid |
int |
Идентификатор виртуальной машины (устаревшее) |
Описание структуры iotune
Параметр |
Тип |
Описание |
read_bytes_sec |
int |
Кол-во байт для чтения в секунду |
read_bytes_sec_max |
int |
Максимальное кол-во байт для чтения |
read_iops_sec |
int |
Кол-во операций чтения io в секунду |
read_iops_sec_max |
int |
Максимальное число io операций чтения |
size_iops_sec |
int |
Размер io операций |
total_bytes_sec |
int |
Общий размер байт в секунду |
total_bytes_sec_max |
int |
Максимальный общий размер байт в секунду |
total_iops_sec |
int |
Общее кол-во io операций в секунду |
total_iops_sec_max |
int |
Максимальное общее кол-во io операций в секунду |
write_bytes_sec |
int |
Кол-во байт для записи в секунду |
write_bytes_sec_max |
int |
Максимальное кол-во байт для записи в секунду |
write_iops_sec |
int |
Кол-во операций записи в секунду |
write_iops_sec_max |
int |
Максимальное число операций записей |
Описание структуры replication
Параметр |
Тип |
Описание |
disk_id |
int |
id диска |
pool_id |
string |
id пула |
role |
string |
Роль диска (главный или реплика) |
self_volume_id |
string |
id раздела |
storage_id |
int |
id хранилища |
volume_id |
int |
id раздела |
Описание структуры snapshots
Параметр |
Тип |
Описание |
guid |
string |
id снимка |
label |
string |
Наименование снимка |
res_id |
string |
Ссылка на снимок |
snap_set_guid |
string |
Установленный id снимка |
reference_id |
int |
Reference ID |
snap_set_time |
int |
Установленное время снимка |
timestamp |
int |
Время снимка |
Описание структуры interfaces
Параметр |
Тип |
Описание |
conn_id |
int |
ID connect |
conn_type |
string |
Тип connect |
enabled |
bool |
Доступность подключения |
def_gw |
string |
Шлюз по умолчанию |
flip_group_id |
int |
id flip group |
guid |
string |
GUID |
ip_address |
string |
IP адрес |
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 |
Описание структуры 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 |
Время |
Пример использования
В нижеприведённом примере посредством вызова data source функции dynamix_kvmvm извлекается информация об уже существующем в платформе виртуальном сервере со следующими характеристиками:
- Имя сервера MyOldVM;
- Идентификатор ресурсной группы, в которой находится данный сервер - 123.
data "dynamix_kvmvm" "comp" {
#получение информации по идентификатору машины - compute_id
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 11346
}
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DYNAMIX см. соответствующий раздел).
Чтобы получить идентификатор ресурсной группы (аргумент rg_id
), можно воспользоваться data source функцией dynamix_resgroup.
После успешного завершения такого вызова dynamix_kvmvm в переменной data.dynamix_kvmvm.comp
будут сохранены возвращаемые значения. Так, например:
- пароль для доступа в гостевую ОС, назначенный по умолчанию при создании VM -
"data.dynamix_kvmvm.comp.os_users.0.password
- идентификатор образа ОС, на базе которого была создана данная VM -
data.dynamix_kvmvm.comp.image_id
- текущий объём ОЗУ -
data.dynamix_kvmvm.comp.ram