地形变量不可用

时间:2019-01-24 01:14:34

标签: terraform

我正在编写一个terraform模块以与ASG一起创建启动配置。仅当密钥名未传递给ec2实例的模块时,它才会创建“ aws_key_pair”。如果传递了密钥名,则改用该密钥名。我正在使用计数功能。

一切正常。但是,当我将密钥传递给模块并尝试在启动配置中使用它时,它给我的错误是“ {aws_key_pair.key_pair.id”不存在,这在某种程度上是正确的,因为它不是我通过传递以来创建的钥匙。但是terraform试图以某种方式查找不存在的“ aws_key_pair.key_pair.id”变量。

在变量处理中好像是一个地形问题。我在子网中也遇到了同样的问题,但是我可以通过使用合并功能来使用它,但是在使用key的情况下这似乎不起作用:

key_name   = "${var.my_key == "" ?aws_key_pair.key_pair.id :var.my_key}"

这适用于安全组:

  security_groups      = ["${coalesce(var.security_group,join("",aws_security_group.security_group.*.id))}"]

感谢您的帮助。

0 个答案:

没有答案