У меня есть ситуация, когда мне нужно сохранить некоторые промежуточные значения, чтобы я мог использовать их в других частях корневого модуля. Я знаю о локальных значениях и знаю о null_data_source, за исключением того, что не знаю, какой из них является рекомендуемым вариантом для хранения значений многократного использования. Оба описания выглядят несколько похожими на меня
локальные значения (https://www.terraform.io/docs/configuration/locals.html)
Локальные значения могут помочь избежать повторения одних и тех же значений или выражений несколько раз вa> конфигурации, но при чрезмерном использовании они также могут затруднить чтение конфигурации будущими> сопровождающими, скрывая фактические используемые значения.
и null_data_source (https://www.terraform.io/docs/providers/null/data_source.html)
Основной вариант использования для нулевого источника данных состоит в том, чтобы собрать вместе наборы промежуточных> значений для повторного использования в другом месте конфигурации:
Таким образом, оба они кажутся действительнымивыбор для этого сценария.
Вот мой пример кода
locals {
my_string_A = "This is string A"
}
data "null_data_source" "my_string_B" {
inputs = {
my_string_B = "This is string B"
}
}
output "my_output_a" {
value = "${local.my_string_A}"
}
output "my_output_b" {
value = "${data.null_data_source.my_string_B.outputs["my_string_B"]}"
}
Не могли бы вы подсказать, когда использовать один над другим для хранения промежуточных значений и каковы плюсы / минусы каждогоподход?
Спасибо