Ошибка терраформирования при использовании карты переменного типа

#terraform

Вопрос:

Я пытаюсь запустить модуль, в котором я получаю ошибку, как :

Ожидал начала выражения, но обнаружил недопустимый маркер выражения.

 variable "vpc" {
  type = map(string)
  default = 
  {
    dev  = "vpc-1234567" 
    qa   = "vpc-2345678"
    prod = "vpc-3345679"
  }
}
 

Комментарии:

1. Я не думаю , что вам нужны цитаты для dev , qa и prod .

2. Даже после удаления кавычек я получаю ту же ошибку. Я мог прочитать из документов, что карта использования terraform v. 12 устарела. terraform.io/docs/language/functions/map.html . но не уверен, как это реализовать.

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

4. извините, что все еще получаю ту же ошибку

5. @ydaetskcoR Это не из-за скобок. Это будет вторая проблема.

Ответ №1:

Вы не можете иметь новую строку после значения по умолчанию. Это должно быть:

 variable "vpc" {
  type = map(string)
  default = {
    "dev"  = "vpc-1234567" 
    "qa"   = "vpc-2345678"
    "prod" = "vpc-3345679"
  }
}
 

Комментарии:

1. Спасибо @Marcin, это сработало. Я получаю еще одну ошибку как «Требуется определение аргумента или блока», если это для карты?

2. @ManoharKumarSingh Это кажется новой проблемой, поэтому новый вопрос был бы лучше.

3. Спасибо за ваш ответ. исправлено отсутствие одной круглой скобки.

4. @ManoharKumarSingh Нет проблем. Если бы ответ был полезным, мы были бы признательны за его принятие.