Полученные и вычисленные значения в источниках данных Terraform - PullRequest
0 голосов
/ 28 сентября 2018

Согласно документации Terraform, источники данных могут использоваться для извлечения или вычисления значений с использованием различных реализаций провайдера.

Ссылка.- https://www.terraform.io/docs/configuration/data-sources.html

Что именно представляет собой вычисленное и извлеченное различие, предпочтительно в конкретном примере?

1 Ответ

0 голосов
/ 28 сентября 2018

Различие незначительно:

На высоком уровне извлеченные данные существуют до того, как вы запустите ваш шаблон, и вычисленные данные будут созданы во время выполнения.

Полученные данные будут аналогичны примеру в справочнике.Здесь Terraform извлекает информацию о AMI, которую затем можно использовать для создания экземпляра EC2:

data "aws_ami" "web" {
  filter {
    name   = "state"
    values = ["available"]
  }

  filter {
    name   = "tag:Component"
    values = ["web"]
  }

  most_recent = true
}

Вычисленные данные обычно можно определить как данные, которых не существует до запуска Terraform, но они будутгенерируется (вычисляется) по мере продвижения вашего шаблона.Например, если бы вы создали EIP для использования с экземпляром EC2, вы бы запустили:

resource "aws_eip" "ip" {
  instance = "${aws_instance.example.id}"
}

. После этого несколько бит информации будут computed при создании EIP:

+ aws_eip.ip
    allocation_id:     "<computed>"
    association_id:    "<computed>"
    domain:            "<computed>"
    instance:          "${aws_instance.example.id}"
    network_interface: "<computed>"
    private_ip:        "<computed>"
    public_ip:         "<computed>"

Затем вы можете использовать эти значения computed в других ресурсах.например, передача aws_eip.ip.public_ip в группу безопасности, например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...