在 CloudFormation 模板中参数化资源名称?
Parameterizing Resource Names in CloudFormation Template?
这里的答案: 并没有真正帮助我设置物理名称,而不是逻辑名称。我希望在参数列表中设置参数,例如:
"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
这里的答案:
"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