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。