
Работа с источниками данных (Data Sources)
Источники данных в Terraform позволяют получать информацию о ресурсах, которые уже существуют в облачной инфраструктуре. С помощью Data Sources можно получать данные из конфигурационных файлов, определенных за пределами Terraform, или из другой отдельной Terraform-конфигурации и использовать их в процессе создания новых ресурсов и управления инфраструктурой.
Определение и реализация источников данных находится в зоне ответственности разработчика Terraform-провайдера.
Источники данных работают только в режиме чтения.
Пример использования: получение списка всех доступных флейворов виртуальных машин, которые соответствуют требованиям по количеству vCPU и RAM. Чтобы получить такой список:
Добавьте в конфигурационный файл блок кода, в котором заданы атрибуты для поиска всех доступных флейворов с 2 vCPU и 4 GB RAM в зоне доступности AZ1:
data "sbercloud_compute_flavors" "flavors" {availability_zone = "ru-moscow-1a"cpu_core_count = 2memory_size = 4}Сохраните изменения в конфигурационном файле Terraform.
Посмотреть список флейворов, которые соответствуют указанной конфигурации, можно через консоль Terraform. Чтобы ее запустить, введите команду:
terraform consoleЧтобы вывести список на экран, в консоли Terraform введите команду:
data.sbercloud_compute_flavors.flavorsВ выводе вы получите список всех флейворов, которые соответствуют требованиям:
"availability_zone" = "ru-moscow-1a""cpu_core_count" = 2"ids" = tolist(["c3.large.2","c6.large.2","c6nl.large.2","s6.large.2","s7n.large.2",])"memory_size" = 4"performance_type" = tostring(null)"region" = "ru-moscow-1"
Также источники данных можно применять для автоматического выбора подходящей конфигурации или параметров. Например, с их помощью можно настроить автоматический выбор зоны доступности или спецификации для создаваемых ресурсов.