Извлечение переменных env из файла JSON и передача переменной в terraform - PullRequest
0 голосов
/ 07 февраля 2019

Я новичок в terraform и пытаюсь использовать Terraform для развертывания лямбда-функций в AWS и передачи переменных среды из файла JSON в terraform.Я не могу установить эти значения в main.tf или в файле tfvars, так как эти переменные env будут отличаться для каждой развернутой лямбды.

Я пытался извлечь значения из JSON с помощью jq ипомещая их в файл, а затем передавая их в переменную, но когда я запускаю команду terraform init, я получаю сообщение об ошибке.

Ниже показано, как значения выглядят в файле JSON.

"environment": {
    "value1": "aa",
    "value2": "aa",
    "value3": "aa",
    "value4": "aa",
    "value5": "aa",
    "value6": "aa"
  },

В моем main.tf раздел окружения установлен так, что значения могут быть переданы через.Я устанавливаю переменные envVars в файле variable.tf, а затем передаю их при запуске команд terraform init и terraform apply.

environment {
   variables {
       "${var.envVars}"
      }
    }

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

environment {
   variables {
     value1 = "",
     value2 = "",
     value3 = "",
     value4 = "",
     value5 = "",
     value6 = ""
  }
}

1 Ответ

0 голосов
/ 07 февраля 2019

думает использовать тип map для управления этими значениями.

variable "envVars" {}
variable "environment" {
  type = "map"

  default = {
    dev = "<value_1>"
    uat = "<value_2>"
    prod = "<value_3>"
  }
}

Так что в своих кодах tf вы можете легко ссылаться как "${var.environment[var.envVars]}"

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