Работа с источниками данных (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"
    

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

Запустили Evolution free tier
для Dev & Test
Получить