本文為您介紹如何在同一模板中根據不同地區選擇不同的參數。
當您在建立資源棧組時,使用同一模板但是需要對不同地區的參數進行調整,比如在不同的地區下需要安裝不同的鏡像 。您可以使用模板映射(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值。
