#regex #terraform
#регулярное выражение #terraform
Вопрос:
У меня есть следующий список
variable "global_aws" {
default = [
"10.20.16.0/20",
"192.168.0.0/16"
]
}
Я хочу извлечь только префикс подсети, чтобы я мог получить 10.20.16.0
и 192.168.0.0
соответственно
У меня это пока:
name = "${replace(element(var.global_aws, count.index), "//*/", "")}"
В настоящее время я получаю:
name:"10.20.16.0.020"
name:"192.168.0.016"
Желаемый результат
name:"10.20.16.0.0"
name:"192.168.0.0"
Комментарии:
1. Ты пробовал :
name = "${replace(element(var.global_aws, count.index), "//d*/", "")}"
2. просто сделал и получил: недопустимый побег символа
3.
name = "${replace(element(var.global_aws, count.index), '//d*/', '')}"
4. спасибо, но получил ту же ошибку: (
Ответ №1:
Вместо того, чтобы пытаться регулярно выражать префикс, вы можете вместо этого использовать cidrhost()
функцию:
$ terraform console
> cidrhost("10.20.16.0/20", 0)
10.20.16.0