我试图在 Terraform 中做一个相当简单的任务,但它不起作用:
变量:
hosted_zone = "example.com"
domain = "my.${var.hosted_zone}"
Run Code Online (Sandbox Code Playgroud)
route_53_record:
resource "aws_route53_record" "regional" {
zone_id = "${data.aws_route53_zone.selected.zone_id}"
name = "${var.domain}"
type = "A"
ttl = "300"
records = ["4.4.4.4"]
}
Run Code Online (Sandbox Code Playgroud)
当我跑步时,terraform plan
我得到了这个:
+ aws_route53_record.regional
id: <computed>
allow_overwrite: "true"
fqdn: <computed>
name: "my.${var.hosted_zone}"
records.#: "1"
records.3178571330: "4.4.4.4"
ttl: "300"
type: "A"
zone_id: "REDACTED"
Run Code Online (Sandbox Code Playgroud)
域应该是my.example.com
. 如何加入变量 hosts_zoned 和一个字符串以形成域?
yda*_*coR 22
您不能在 tfvars 文件中使用插值。
相反,您可以像这样直接在 Terraform 中加入它:
hosted_zone = "example.com"
domain = "my"
Run Code Online (Sandbox Code Playgroud)
resource "aws_route53_record" "regional" {
zone_id = data.aws_route53_zone.selected.zone_id
name = "${var.domain}.${var.hosted_zone}"
type = "A"
ttl = "300"
records = ["4.4.4.4"]
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您总是需要将这些东西组合在一起,您可以使用本地:
locals {
domain = "${var.domain}.${var.hosted_zone}"
}
resource "aws_route53_record" "regional" {
zone_id = data.aws_route53_zone.selected.zone_id
name = local.domain
type = "A"
ttl = "300"
records = ["4.4.4.4"]
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
27715 次 |
最近记录: |