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.1/06.01.06-Data_dynamix_image...

9.2 KiB

Data source функция dynamix_image_list служит для получения информации об имеющихся в облачной платформе образах. Образы это дисковые ресурсы, уже содержащие некоторые данные, для которых реализован механизм быстрого клонирования/копирования в новый диск.

Основной сценарий использования таких ресурсов это создание каталогов образов операционных систем (ОС), на базе которых создаются загрузочные диски для compute. Также с их помощью можно хранить эталонную информацию, требующуюся для работы приложений, например, файлы баз данных.

Образ ОС является основной для создания новых виртуальных серверов, так как из него формируется загрузочный диск сервера. Как следствие, для создания виртуального сервера помимо других параметров требуется указать идентификатор нужного образа ОС. Для получения всех доступных идентификаторов можно воспользоваться data source функцией dynamix_image_list.

Аргументы

Data source функция dynamix_image_list принимает следующие аргументы:

Аргумент Тип Обязательный Описание
sep_id int Фильтр по storage endpoint provider ID
by_id int Фильтр по ID
name string Фильтр по имени
status string Фильтр по статусу
architecture string Фильтр по архитектуре
type_image string Фильтр по типу
image_size int Фильтр по размеру образа
sep_name string Фильтр по имени SEP
pool string Фильтр по Pool
public bool Фильтр публичных/приватных образов
hot_resize bool Фильтр образов, разрешающих hot resize
bootable bool Фильтр загрузочных образов
page int Номер страниц
enabled bool Фильтр по доступности образа
size int Размер страницы
sort_by string Фильтр по одному из поддерживаемых полей, формат: +или- название поля

Возвращаемые значения

В случае успешного выполнения data source функция dynamix_image_list возвращает в указанную при вызове переменную, в поле items, массив, каждый элемент которого состоит из следующих параметров:

Параметр Тип Описание
account_id int accountId привязки образа
architecture string Архитектура образа, возможен вариант X86_64
boot_type string Тип запуска ОС - bios или uefi
bootable bool Является ли образ загрузочным
computeci_id int ID вычислительного ресурса
desc string Описание образа
drivers []string Список используемых драйверов
enabled bool Доступность образа
gid int ID платформы, где образ будет создан
guid int Внутренний id образа, совпадает с image_id
history object{id: int, guid: int, timestamp: int} История обновлений образа
hot_resize bool Использует ли машина горячее изменение размера образа
image_type string Тип образа: linux, windows или другой
last_modified int Дата последнего изменения
link_to int Привязка к образу, используется в виртуальных образах
meta []string Мета информация об образе
milestones int Вехи
name string Название образа
network_interface_naming string Название сетевого интерфейса
password string Пароль для образа
password_dl string Пароль для загрузки двоичных файлов
permanently bool Удаление образа: мгновенное или нет
pool_name string Пул, в котором был создан образ
provider_name string Наименование провайдера
purge_attempts int Попытки
reference_id string ID ссылки
res_id string ID ресурса
res_name string Наименование ресурса
rescuecd bool CD или нет
sep_id int storage endpoint provider ID
size int Размер образа
status string Статус образа
tech_status string Технический статус
unc_path string unc path
url string Адрес, которого осуществлялась загрузка образа
username string Имя пользователя образа
username_dl string Имя пользователя для загрузки двоичных файлов
version string Версия

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

Пример вызова data source функции dynamix_image_list:

data "dynamix_image_list" "il" {
  #фильтр по id sep
  #опциональный параметр
  #тип - целое число
  #sep_id = 1
  
  #фильтр по id образа
  #опциональный параметр
  #тип - целое число
  #by_id = 100

  #фильтр по имени образа
  #опциональный параметр
  #тип - строка
  #name = "test"

  #фильтр по статусу
  #опциональный параметр
  #тип - строка
  #status = "ENABLED"

  #фильтр по архитектуре
  #опциональный параметр
  #тип - строка
  #architecture = "x86_64"
  
  #фильтр по типу образа
  #опциональный параметр
  #тип - строка
  #type_image = "cdrom"

  #фильтр по размеру образа
  #опциональный параметр
  #тип - целое число
  #image_size = 100

  #фильтр по имени SEP 
  #опциональный параметр
  #тип - строка
  #sep_name = "test"

  #фильтр по имени Pool 
  #опциональный параметр
  #тип - строка
  #pool = "test"

  #фильтр по доступу
  #опциональный параметр
  #тип - булев
  #public = "true"

  #фильтр по hot_resize
  #опциональный параметр
  #тип - булев
  #hot_resize = "true"

  #фильтр по bootable
  #опциональный параметр
  #тип - булев
  #bootable = "true"

  #сортировка по одному из поддерживаемых полей
  #опциональный параметр
  #тип - строка
  #формат - "+поле" по возрастанию / "-поле" по убыванию
  #sort_by = "+name"

  #номер страницы для отображения
  #опциональный параметр
  #тип - целое число
  #если не задан - выводятся все доступные данные
  #page = 2

  #размер страницы
  #опциональный параметр
  #тип - целое число
  #если не задан - выводятся все доступные данные
  #size = 3

  #фильтр по enabled
  #опциональный параметр
  #тип - булев
  #enabled = true
}

Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DYNAMIX см. соответствующий раздел).

После успешного завершения такого вызова dynamix_image_list в переменной data.dynamix_image_list.il будут сохранены возвращаемые значения.