You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
terraform-provider-dynamix/wiki/1.2.0/06.01.01-Data_dynamix_kvmvm.md

19 KiB

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 Архитектура
auto_start_w_node bool Автостарт при рестарте ноды
boot_order []string Boot order
boot_disk_id int Идентификатор загрузочного диска виртуальной машины
boot_disk_size int Размер загрузочного диска в ГБ
chipset string Тип эмулируемой системы
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 - пароль к этой учётной записи.
pci_devices []int Список PCI девайсов
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 атус
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 Имя образа ОС, на базе которого создан загрузочный диск этой виртуальной машины
vnc_password string VNC пароль

Описание структуры 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 аккаунта
bus_number int Номер шины
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

Параметр Тип Описание
bus_number int Номер шины
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 адрес
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 Время

Пример использования

В нижеприведённом примере посредством вызова 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