Terraform v0.11.9 provider.aws v1.41.0
我想知道是否有办法更新计划中没有直接创建的资源,而是更新计划中的资源 . 该示例使用 aws_directory_service_directory
创建托管Active Directory . 此过程创建安全组,我想向安全组添加标记 . 这是我用来创建资源的代码片段
resource "aws_directory_service_directory" "NewDS" {
name = "${local.DSFQDN}"
password = "${var.ADPassword}"
size = "Large"
type = "MicrosoftAD"
short_name = "${local.DSShortName}"
vpc_settings {
vpc_id = "${aws_vpc.this.id}"
subnet_ids = ["${aws_subnet.private.0.id}",
"${aws_subnet.private.1.id}",
]
}
tags = "${merge(var.tags, var.ds_tags, map("Name", format("%s", local.VPCname)))}"
}
我可以使用引用新创建的安全组
"${aws_directory_service_directory.NewDS.security_group_id}"
我无法使用它来更新资源 . 我想将目录中的所有标记添加到安全性,以及更新Name标记 . 我已经尝试过使用local-exec配置器,但是结果并不一致,并且在没有硬编码的情况下将标签映射到命令也没有用 .
谢谢
1 回答
我将本地提供程序移出目录服务资源并进入虚拟资源 .
(
command =
是单行)使用format命令允许我将整个标记列表发送到资源 . Terraform不会"manage"它,但它确实允许我将其更新为计划的一部分 .