微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决基于带有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 举报,一经查实,本站将立刻删除。