小编Tig*_*eng的帖子

仅当有任何其他更改时 Terraform 才更改标签

我想使用如下内容来创建/管理项目中所有资源的通用标签。对于 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 planterrafomr 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)

terraform terraform-provider-aws

5
推荐指数
1
解决办法
2360
查看次数

标签 统计

terraform ×1

terraform-provider-aws ×1