2017-10-06 55 views
0

有谁知道是否有方法将默认设置转换为现有资源的默认设置,并且仅在创建新资源时才设置它们?默认为Terraform中的现有值

例如,当我创建一个新的实例时,我想要使用最新的AMI,但对于现有的实例(应该有所有最新的补丁等),不需要更新AMI。

+0

正确 - 所以在重复搜索导致什么都没有,在提问之前,我想我可能已经在terraform生命周期钩子的形式之后很快找到了答案。 如果是这样,我会在确认后回答这个问题。 –

回答

0

terraform中的每个资源都有lifecycle。您可以配置生命周期以忽略资源的某些更改。

resource "aws_instance" "my_instance" { 
    ami     = "my_ami" 
    instance_type   = ".." 

    .. 

    lifecycle { 
    ignore_changes = ["ami"] 
    } 
} 

如果你想稍后更新现有资源的AMI,然后你可以使用taint命令。