基于带有Terraform的动态名称值的多个aws_cloudformation_stack资源

问题描述

这是对此question的后续行动 我想使用基于aws_cloudformation_stack的名称创建多个git branch资源。 Git分支将用于测试CloudFormation堆栈的不同版本,并且可以由多个工程师进行部署(因此,我需要让工程师访问远程terraform状态)。 我想确保每个部署的分支都有其堆栈,但是当分支更新代码时,堆栈将得到更新(堆栈被破坏并重新创建) 一种建议是使用for_each创建多个资源。 为此,我可能需要将分支名称写入文件(在terraform apply之前,然后将其读入列表变量,以便for_each可以遍历列表。

但是,我想看看是否有更好的方法来实现这一目标?

resource "aws_cloudformation_stack" "subscriptions_sam_stack" {
  for_each = toset(split(",",file("deployed_git_hashes.txt")))
  name         = "${var.app_name}---${var.app_env}--${each.value}"
  capabilities = ["CAPABILITY_NAMED_IAM","CAPABILITY_AUTO_EXPAND"]

  template_url = "https://${var.sam_bucket}.s3-${data.aws_region.current.name}.amazonaws.com/${aws_s3_bucket_object.sam_deploy_object.id}"
}

deployed_git_branches.txt看起来像这样:

branch1,branch2,branch3

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...