Terraform ignore_changes для тега CodeDeployProvisioningDeploymentId

Я использую Terraform v0.12.25 с provider.aws v2.70.0. У меня есть ресурс ASG, определенный в Terraform:

resource "aws_autoscaling_group" "web" {
  name                      = "CodeDeploy_production_web"
  max_size                  = 40
  min_size                  = 1
  wait_for_capacity_timeout = "0"
  health_check_type         = "EC2"
  desired_capacity          = 1
  launch_configuration      = aws_launch_configuration.web.name
  vpc_zone_identifier       = data.aws_subnet_ids.subnets.ids
  suspended_processes       = []
  tag {
      key                 = "Environment"
      propagate_at_launch = true
      value               = "production"
    }
  tag {
      key                 = "Name"
      propagate_at_launch = true
      value               = "Web_App_production_CD"
    }
  tag {
         key                 = "CodeDeployProvisioningDeploymentId"
         propagate_at_launch = true
         value               = ""
     }
  lifecycle {
      ignore_changes = [
        desired_capacity,
        name
      ]
    }
}

Я хочу игнорировать изменения тега CodeDeployProvisioningDeploymentId. Я пробовал добавить это вignore_changesблок, но мне не удалось заставить его работать. Кто-нибудь знает как это сделать?

1 ответ

У провайдера AWS есть аргумент ignore_tags . Однако для провайдера AWS v2.70.0 говорится, что он не работает с ресурсами aws_autoscaling_group. Я использую поставщика AWS версии 3.75.0, и документация для этой версии не исключает ресурсы aws_autoscaling_group, и я могу подтвердить, что это работает.

Мой провайдер теперь выглядит так:

      provider "aws" {
  version = "~> 3.75.0"
  region  = var.aws_region

  ignore_tags {
    keys = ["CodeDeployProvisioningDeploymentId"]
  }
}