Terratest преобразует значения переменных, заданные в terraform.Options
, в -var
аргументы командной строки, используя свою внутреннюю функцию toHclString
.
От чтения до реализации этой функции и других Кажется, что вызываемые функции преобразуют значение Go []interface{}
в синтаксис кортежа Terraform и Go map[string]interface{}
в синтаксис объекта Terraform, поэтому допустимое значение для показанного ограничения типа может выглядеть следующим образом:
[]interface{}{
map[string]interface{}{
"rolearn": "foo",
"username": "bar",
"groups": []interface{"baz"},
},
map[string]interface{}{
"rolearn": "boop",
"username": "beep",
"groups": []interface{"blurp"},
},
}
Исходя из того, что я прочитал код (примечание: я на самом деле его не тестировал ?), я ожидал, что для генерации значения аргумента -var
будет выглядеть так:
-var map_roles='[{"rolearn" = "foo", "username" = "bar", "groups" = ["baz"]},{"rolearn" = "boop", "username" = "beep", "groups" = ["blurp"]}]'