OOS實現了運維即代碼(Operations as Code或簡稱Ops as Code)的運維理念。模板(Template)即是OOS產品內Code的具體形式。像優秀的代碼需要遵守規范一樣,優秀的模板也需要遵守相應的規范。特此建立了模板的編寫規范供您參考。此規范同樣適用于阿里云提供的所有公共模板。
編寫目的
易于閱讀和理解模板的用途。
方便后續的模板維護。
方便在組織內分享,建立統一的運維規范。
規范內容
所有的模板(Template),都要寫清楚其目的,包括了什么的運維操作,以達到什么目的。
所有的動作,前綴都大寫,最后一節適用駝峰式。如ACS::ExecuteAPI或ACS::ECS::RunInstances。
縮進,要統一,建議用2個空格縮進,不允許有Tab和空格混排。
屬性的順序和符合正常的閱讀順序。可以參考動作的語法順序。
模板(Template)的字段順序推薦為:FormatVersion,Description,Parameters,RamRole,Tasks,Outputs。
任務(Task)的字段順序推薦為:Name,Action,Description,Properties,Loop,Outputs。
動作ACS::ExecuteAPI的Properties順序推薦如下:Service,API,Parameters。
ACS::ExecuteAPI里面的Service推薦用大寫,如ECS,RDS等。
JQ selector,(如PropertySelector,ValueSelector)里面不要以點(.)開頭。雖然系統兼容有點和沒點的兩種情況,但是沒點看起來更優美一些。Parameter Name,Task Name,Output Name建議使用駝峰式命名,例如 InstanceId,CreateInstance。