在CloudFormation模板中参数化资源名称?

时间:2016-08-12 13:51:53

标签: amazon-cloudformation

这里的答案:Is there a way to parameterize cloud formation resource names?并没有真正帮助,因为我希望设置物理名称,而不是逻辑名称。我希望在参数列表中设置一个参数,如:

"ELBName": {
  "Type": "String",
  "Default": "xxx",
  "Description": "The Production Number for this stack (e.g. xxx)"
}

然后

"LoadBalancerName": "prod" + {Ref: "ELBName"}

虽然直接连接是不可能的。有什么办法可以做我想要的吗?我的最终目标是获取我创建的模板,并使用它创建自己的许多副本,每个副本具有相同的资源,但名称不同,可能通过嵌套堆栈。

1 个答案:

答案 0 :(得分:1)

使用Fn :: Join函数执行此操作:

            "LoadBalancerName":{
           "Fn::Join":[
              "",
              [
                 "prod",
                 {
                    "Ref":"ELBName"
                 }
              ]
           ]
        }

这将使名称为prod01,假设ELBName参数已传递值01