在 terraform 中,如果虚拟机具有带有特定键的标签,请避免重新创建任何资源

问题描述 投票:0回答:1
  1. 假设有一个 terraform 脚本,其中创建了实例和卷。
  2. 一两天后,我们从门户删除了一卷。
  3. 一周后,我想从 terraform 更新该虚拟机的标签、实例类型。

因此,上述第三步不应重新创建任何卷,也不应删除附加到 vm 的任何现有标签

terraform terraform-provider-aws terraform-provider-azure hashicorp
1个回答
0
投票

对于这些情况,您可以使用

ignore_changes
并提供创建后更改时要忽略的任何内容的列表...

resource "aws_instance" "hummingbot" {
  ami                  = data.aws_ami.foo.id
  instance_type        = "t2.medium"
  availability_zone    = "us-east-1a"
  iam_instance_profile = aws_iam_instance_profile.abc.name

  root_block_device {
    volume_type           = "gp3"
    volume_size           = "64"
    delete_on_termination = true
  }

  tags = {
    Terraformed = "true"
    Name        = "hummingbot"
  }

  lifecycle {
    ignore_changes = [root_block_device]
  }
}

© www.soinside.com 2019 - 2024. All rights reserved.