我想使用如下内容来创建/管理项目中所有资源的通用标签。对于 common_var_tag,我希望仅在有任何其他更改时应用它。因此,源代码被标记为最后修改者和时间。
有什么办法可以做到吗?
提前致谢!
locals {
common_var_tags = {
ChangedBy = data.aws_caller_identity.current.arn
ChangedAt = timestamp()
}
common_fix_tags = {
Project. = "Project"
Owner = "Tiger Peng"
Team = "DevOps"
CreatedAt = "2021-06-08"
}
}
Run Code Online (Sandbox Code Playgroud)
例如,现在,我必须注释掉“ local.common_var_tags”,因为每次运行terraform plan或terrafomr apply不更改任何属性时,资源 nginx 都会由于ChangedAt = timestamp(). 我想找到一种方法,只有当其他属性发生变化时,才会应用此标签更改。
resource "aws_instance" "nginx" {
count = 1
ami = var.nginx-ami
instance_type = var.nginx-instance-type
subnet_id = var.frontend-subnets[count.index]
key_name = aws_key_pair.key-pair.key_name
vpc_security_group_ids = [aws_security_group.nginx-sg.id]
root_block_device {
delete_on_termination = false
encrypted = true …Run Code Online (Sandbox Code Playgroud)