模板是一個JSON或YAML格式的文本文件,使用UTF-8編碼。模板用于創建資源棧,是描述基礎設施和架構的藍圖。模板編輯者在模板中定義阿里云資源和配置細節,并說明資源間的依賴關系。
ROS模板結構
ROSTemplateFormatVersion: '2015-09-01'
Description: 模板描述信息,可用于說明模板的適用場景、架構說明等。
# 關于模板的元數據信息,例如存放用于可視化的布局信息。
Metadata:
# 定義創建資源棧時,用戶可以定制化的參數。
Parameters:
# 定義映射信息表,映射信息是一種多層的Map結構。
Mappings:
# 使用內部條件函數定義條件。這些條件確定何時創建關聯的資源。
Conditions:
# 所需資源的詳細定義,包括資源間的依賴關系、配置細節等。
Resources:
# 用于輸出一些資源屬性等有用信息。可以通過API或控制臺獲取輸出的內容。
Outputs:
# 用于檢驗在創建或更新資源棧時傳遞給模板的參數值是否符合預期。
Rules:
ROSTemplateFormatVersion(必選)
ROS支持的模板版本號,當前版本號:2015-09-01。
Description(可選)
模板的描述信息。可用于說明模板的適用場景、架構說明等。通常情況下,對模板進行詳細描述,有利于用戶理解模板的內容。
Metadata(可選)
模板編寫者可以使用Metadata來存放與模板相關的元數據信息,內容可以為JSON格式。
Parameters(可選)
定義創建資源棧時,模板用戶可以定制化的參數。通常,模板的編輯者會把ECS的規格設計成一個參數。參數支持默認值。使用參數可以增強模板的靈活性,提高復用性。使用模板創建資源棧時,可以根據實際的評估結果來選擇合適的規格。
更多詳細信息,請參見參數(Parameters)。
Mappings(可選)
Mappings定義了一個多層的映射表,可以通過Fn::FindInMap函數來選擇Key對應的值,或根據不同的輸入參數值作為Key來查找映射表。例如,您可以根據Region不同,自動查找Region-鏡像映射表,從而找到適用的鏡像。
更多詳細信息,請參見映射(Mappings)。
Conditions(可選)
Conditions使用Fn::And、Fn::Or、Fn::Not、Fn::Equals定義條件。多個條件之間使用半角逗號(,)隔開。在創建或更新資源棧時,系統先計算模板中的所有條件,然后再創建資源。創建與true條件關聯的所有資源,忽略與false條件關聯的所有資源。
更多詳細信息,請參見條件(Conditions)。
Resources(可選)
用于詳細定義使用該模板創建的資源棧所包含的資源,包括資源間的依賴關系、配置細節等。
更多詳細信息,請參見資源(Resources)。
Outputs(可選)
用于輸出一些資源屬性等有用信息。可以通過API或控制臺獲取輸出的內容。
更多詳細信息,請參見輸出(Outputs)。
Rules(可選)
用于檢驗在創建或更新資源棧時傳遞給模板的參數值是否符合預期。
更多詳細信息,請參見規則(Rules)。
相關操作
關于如何快速的編寫模板,請參見手把手編寫模板。