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

Amazon cloudformation 在CloudFormation模板中参数化资源名称?,amazon-cloudformation,Amazon Cloudformation,这里的答案是:没有真正的帮助,因为我正在寻找设置物理名称,而不是逻辑名称。我希望在参数列表中设置一个参数,比如: "ELBName": { "Type": "String", "Default": "xxx", "Description": "The Production Number for this stack (e.g. xxx)" } 然后 "LoadBalancerName": "prod" + {Ref: "ELBName"} 尽管直接连接是不可能的。有什么办法可以满

这里的答案是:没有真正的帮助,因为我正在寻找设置物理名称,而不是逻辑名称。我希望在参数列表中设置一个参数,比如:

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

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

尽管直接连接是不可能的。有什么办法可以满足我的要求吗?我的最终目标是获取我创建的模板,并使用它创建自身的多个副本,每个副本都具有相同的资源,但名称不同,可能是通过嵌套堆栈来实现的。

使用Fn::Join函数来实现这一点:

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

如果ELBName参数已传递值01,则名称将为prod01

您可以使用标记而不是名称来区分阶段、prod等。