amazon-web-services - Terraform 未保存 ECS 集群 containerInsights 设置的状态
问题描述
这是我的模板:
resource "aws_ecs_cluster" "doesntmatter" {
name = var.doesntmatter_name
capacity_providers = ["FARGATE", "FARGATE_SPOT"]
setting {
name = "containerInsights"
value = "enabled"
}
tags = var.tags
}
当我运行它时。它会正确创建集群并将 containerInsights 设置为启用。
但是当我再次运行 terrafrom 时。它想改变这个属性,就好像它以前没有设置过一样。 我运行它多少次都没关系。它仍然认为每次部署都需要对其进行更改。
此外,terraform state show resName确实显示此设置保存在状态文件中。
解决方案
这是一个使用 Terraform AWS Provider(昨天发布)的 v3.57.0 解决的错误。
Amazon ECS 正在对 ECS Describe-Clusters API 进行更改。以前,成功的 ECS Describe-Clusters API 请求的响应默认包括集群设置。这种行为是不正确的,因为如此处所述(https://docs.aws.amazon.com/cli/latest/reference/ecs/describe-clusters.html),集群设置是一个可选字段,只有在客户明确要求。随着更改,默认情况下 ECS 将不再显示集群设置字段以响应 Describe-Clusters API。客户可以继续使用带有 Describe-Clusters API 的 --include SETTINGS 标志来接收集群设置。
跟踪错误:https ://github.com/hashicorp/terraform-provider-aws/issues/20684
推荐阅读
- java - 如何以当前毫秒为单位检查 1 天摘要的数据库记录
- keras - 迁移学习 CNN 只预测一类
- apache-kafka - KStream 问题以 avro 格式读取之前和之后的有效负载
- sql - 按日期连接两个表并在一个表缺少日期时填充缺失的数据
- python - 竞争问题:从 1 到 N 查找包含“2020”的数字,这是 2020 的倍数,比 O(N/2020) 快
- html - Atom Emmet 自定义 HTML snippets.json 多行快捷元素
- node.js - 在 Mongodb 中发出拉取请求时如何自定义字段
- r - 通过比较两列值从数据框中获取唯一元素
- java - 从控制器,数据未转换为 html 视图页面
- python - 将 OpenCV 中的比较运算符翻译成 Python