Рубрики
Uncategorized

Источники данных Terraporm — как они используются

Каковы источники данных террафора? Источники данных в террафоре используются для получения информации … Теги с террафом, дежоптом, CICD, учебником.

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

Мы можем найти отличные примеры использования источника данных в AWS Provider Docs :

variable "vpc_id" {}

data "aws_vpc" "selected" {
  id = var.vpc_id
}

resource "aws_subnet" "example" {
  vpc_id            = data.aws_vpc.selected.id
  availability_zone = "us-west-2a"
  cidr_block        = cidrsubnet(data.aws_vpc.selected.cidr_block, 4, 1)
}

В этом сценарии мы, возможно, создали нашу aws_vpc вручную, потому что он также содержит другие ресурсы вручную, и теперь мы хотим начать добавлять его для удаленных ресурсов Terraform.

Для этого мы используем источник данных AWS_VPC, чтобы найти вручную создавать AWS_VPC, а затем использовать его свойства для настройки нашего AWS_SUBNET.

Еще одно причудливый случай использования будет использовать GitHub Provider Pull Запросы источника данных Чтобы перечислить все запросы на тягу, а затем предоставить среду предварительного просмотра по требованию для каждого запроса на тягу. Это пойдет по линии:

data "github_repository_pull_requests" "pull_requests" {
  base_repository = "example-repository"
  base_ref        = "main"
  state           = "open"
}

module "preview-environment" {
  for_each        = data.github_repository_pull_requests.pull_requests.results
  name            = each.value.title
  commit_sha      = each.value.head_sha
  // ...
}

По умолчанию Terraform будет освещать все источники данных перед созданием плана. Вы также можете явно освежить все источники данных, запущенные Обновить террафору Отказ

Изредка у вас будет источники данных, которые изменяются очень часто и хотели бы сохранить ваши ресурсы синхронизированными с этими изменениями. Самый простой способ добиться этого состоит в том, чтобы просто запустить террафом каждые несколько минут или около того, сделайте обновление и примените все полученные изменения.

Вы также можете использовать что-то похожее на Обнаружение дрейфа Spacelift Чтобы автоматизировать этот процесс и убедиться, что он не мешает вашему ручному казням террафора.

Установите больше пособий по террафом:

Оригинал: «https://dev.to/spacelift/terraform-data-sources-how-they-are-utilised-26a4»