У меня есть файл шаблона terraform source.tpl
- это json, и он должен быть JSON, потому что он создается библиотекой python json. Этот файл имеет следующую запись
[
{
"data": {
"address": "${NETWORK}",
"netmask": "${NETMASK}",
}
}
]
В моем модуле tf я отображаю этот шаблон:
data "template_file" "source" {
template = "${file("${path.module}/source.tpl")}"
vars = {
NETWORK = element(split("/", "${var.cidr}"),0)
NETMASK = tonumber(element(split("/", "${var.cidr}"),1))
}
}
где cidr - строка - что-то вроде 10.1.1.0/24
В отображаемом выводе мне нужно, чтобы NETMASK была числом, а NETWORK - строкой. Т.е. это должно быть что-то вроде:
data = {
address = "10.1.1.0"
netmask = 24
}
Но я получаю:
data = {
address = "10.1.1.0"
netmask = "24"
}
Т.е. маска сети - это строка. Как я могу избавиться от этих цитат в Terraform? В исходном source.tpl все еще должны быть эти кавычки, потому что, если я удаляю их - он становится недействительным JSON.