Добавить переменную к данным - PullRequest
0 голосов
/ 16 июня 2019

Я пытаюсь объединить данные с переменной (Terraform v0.12.0):

variable "my_var" {
    default = "secret_string"
}

auth_token = data.external.get_secret.result.var.my_var 

Это работает в случае:

auth_token = data.external.get_secret.result.secret_string

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

1 Ответ

0 голосов
/ 17 июня 2019

Не очень понятно, для чего вам нужно. Дай угадаю.

у вас могут быть разные конечные точки для сохранения ваших секретов, такие как хранилище hashicorp, aws ssm, менеджеры секретов aws, с помощью этих способов вы можете избежать сохранения секретов непосредственно в исходном коде.

Здесь я использую aws ssm для примера о том, как ссылаться на секрет через переменную.

Предположим, вы установили ключ SSM my_var в aws.

variable "my_var" {
    default = "my_var"
}


data "aws_ssm_parameter" "read" {
  name  = "${var.my_var}"
}

Так что теперь вы можете легко ссылаться на него

auth_token             = "${aws_ssm_parameter.read.value}"

Примечание: незашифрованное значение SecureString будет сохранено в необработанном виде в виде простого текста.

Примечание. В настоящее время источник данных следует API-интерфейсу SSM, который возвращает строковое значение независимо от типа параметра. Для типа StringList мы можем использовать встроенную функцию split () для получения значений в списке. Пример: split (",", data.aws_ssm_parameter.subnets.value)

...