本文为您介绍如何在同一模板中根据不同地域选择不同的参数。
当您在创建资源栈组时,使用同一模板但是需要对不同地域的参数进行调整,比如在不同的地域下需要安装不同的镜像 。您可以使用模板映射(Mappings),在模板的Resources和Output中使用Fn::FindInMap内部函数,通过指定Key获取映射表的Value。此时您可以把地域和镜像在Mappings中设置为Key-Value的映射表,然后在资源属性中使用Fn::FindInMap结合伪参数ALIYUN::Region获取当前地域在映射表中的值。
ROSTemplateFormatVersion: '2015-09-01'
Mappings:
RegionMap:
cn-shenzhen:
ImageId: m-2vca5gczbrozn1vwp****
cn-beijing:
ImageId: m-hp38urk0l2aioidn****
us-west-1:
ImageId: m-rj9b5x7xtspmbage****
cn-shanghai:
ImageId: m-2ze1bpkyqvylc2ag****
cn-hangzhou:
ImageId: m-bp1h1cr4n27d3owq****
Outputs:
ImageId:
Value:
Fn::FindInMap:
- RegionMap
- Ref: ALIYUN::Region
- ImageId
控制台示例
当您创建资源栈组时,选择将资源栈部署在杭州,则会自动选择RegionMap映射表中cn-hangzhou的ImageId值。
文档内容是否对您有帮助?