如何使用Terraform使AWS Api Gateway的部署依赖于动态列表



当我使用"for_each"生成资源,方法等时,我如何使部署依赖于它们?Terraform需要一个静态列表作为"depends_on">

的值

我想你在这里寻找的是这个(有些隐藏的)参考在地形文档中关于触发器

我面临着同样的问题(使用for_each创建网关方法,集成),但无法可靠地触发api-网关重新部署,直到这个…

…或者删除.id引用以对整个资源计算散列。请注意,在初始实现之后,使用整个资源将显示出差异。只有当资源发生变化后,它才会稳定地改变

这允许我们在触发器

中执行以下操作
triggers = {
redeployment = sha1(jsonencode([
aws_api_gateway_resource.gateway_resources,
aws_api_gateway_method.gateway_methods,
aws_api_gateway_integration.gateway_integrations,
]))}

通过删除.id(因此不需要引用每个。键(或动态列表中的任何元素),您可以让terraform决定文件的哈希值是否更改。如果它改变了,它将被重新部署,如果它没有改变,则不需要重新部署:)

参考https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/api_gateway_deployment terraform-resources

  • 查看"触发器"的注释

相关内容

  • 没有找到相关文章

最新更新