[英]How to join terraform subnet variable
变量.tf
variable "private_subnets" {
type = list
default = ["subnet-abc1,subnet-abc2"]
}
主程序
resource "aws_db_subnet_group" "rds_subnet_group" {
name = var.cluster_name
subnet_ids = "${var.private_subnets}"
tags = {
Name = var.cluster_name,
environment = var.environment
}
}
这是我想为 su.net 使用 varable.tf 的当前代码,这是我想要像这样的 su.net-abc1、su.net-abc2 实现的方式
考虑到您的变量有一个错误定义的默认值,首先要解决的是:
variable "private_subnets" {
type = list(string)
default = ["subnet-abc1", "subnet-abc2"]
}
您当前定义默认值的方式,即["su.net-abc1,su.net-abc2"]
,是一个列表,但是,它是一个包含一个元素的列表。 字符串列表中的每个元素都需要以双引号开头和结尾,即“某个值”。 您可以在 [1] 中阅读有关列表的更多信息。
然后,您只需要将main.tf
中的代码修改为如下所示:
resource "aws_db_subnet_group" "rds_subnet_group" {
name = var.cluster_name
subnet_ids = var.private_subnets
tags = {
Name = var.cluster_name,
environment = var.environment
}
}
main.tf
文件中 su.nets 的语法是旧的 terraform 语法,因此无需双引号和${}
即可使用。
[1] https://developer.hashicorp.com/terraform/language/expressions/types#list
我对拆分有一些疑问,这就是答案
variable.tf
variable "private_subnets" {
default = "subnet-abc1,subnet-abc2"
}
main.tf
resource "aws_db_subnet_group" "rds_subnet_group" {
name = var.cluster_name
subnet_ids = "${split(",", var.private_subnets)}"
tags = {
Name = var.cluster_name,
environment = var.environment
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.