Работа с источниками данных (Data Sources)

Источники данных в Terraform позволяют получать информацию о ресурсах, которые уже существуют в облачной инфраструктуре. С помощью Data Sources можно получать данные из конфигурационных файлов, определенных за пределами Terraform, или из другой отдельной Terraform-конфигурации и использовать их в процессе создания новых ресурсов и управления инфраструктурой.

Определение и реализация источников данных находится в зоне ответственности разработчика Terraform-провайдера.

Источники данных работают только в режиме чтения.

Пример использования: получение списка всех доступных флейворов виртуальных машин, которые соответствуют требованиям по количеству vCPU и RAM. Чтобы получить такой список:

  1. Установите и настройте Terraform.

  2. Добавьте в конфигурационный файл блок кода, в котором заданы атрибуты для поиска всех доступных флейворов с 2 vCPU и 4 GB RAM в зоне доступности AZ1:

    data "sbercloud_compute_flavors" "flavors" {
    availability_zone = "ru-moscow-1a"
    cpu_core_count = 2
    memory_size = 4
    }
  3. Сохраните изменения в конфигурационном файле Terraform.

  4. Посмотреть список флейворов, которые соответствуют указанной конфигурации, можно через консоль Terraform. Чтобы ее запустить, введите команду:

    terraform console
  5. Чтобы вывести список на экран, в консоли 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"

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

Advanced