You need to enable JavaScript to run this app.
文档中心
云服务器

云服务器

复制全文
下载 pdf
附录
自定义模板语法说明
复制全文
下载 pdf
自定义模板语法说明
模板语法用于定义模板结构,包括参数、执行顺序、输入和输出等字段约束及校验规则等,火山引擎支持通过JSON格式定义自定义模板,支持的结构如下:
{
"FormatVersion": "0.2",
"Description": "",
"Parameters": {},
"Tasks": [],
"Outputs": {}
}
参数
说明
FormatVersion
可选,引擎版本,默认为0.2。
Description
可选,描述,可用于说明模版的用途、目的等。
Parameters(参数)
可选,Parameters用于定义模板执行过程中所使用的参数列表,了解更多
Tasks(任务)
必选,Tasks是模板最重要的组成部分,每一个Task定义了一个具体的执行动作,动作由运维编排定义和实现,了解更多
说明
  • 若为多个任务,默认按照从上到下的顺序依次串行执行。
  • 若某个任务是一个循环(Loop)任务,则在该任务内部可能出现并发的子执行。
Outputs(输出)
可选,Outputs用于定义模板执行后输出的关键数据,可引用任务(指定任务名称)的输出,了解更多
Parameters(参数)说明
Parameters用于定义模板执行过程中所使用的参数列表,包括参数名称、参数类型、默认值。
说明
若未声明默认值,则默认是参数类型的零值(即该类型的默认初始值)。
{
"Parameters": {
"InstanceId": {
"Type": "String" //必填,类型,支持String、Number、List、Boolean、Map
"DisplayName":"" //可选,显示名称,若增加该字段,创建编排计划时展示DisplayName的值,若未增加,则展示该字段的key。
},
"ForceStop": {
"Type": "Boolean", //可选,类型,支持String、Number、List、Boolean、Map
"Default": true //可选,默认值,默认为true,支持true和false
}
}
}
Tasks(任务)说明
Tasks是模板最重要的组成部分,每一个Task定义了一个具体的执行动作,动作由运维编排定义和实现,包括原子性动作和云产品动作。了解更多
说明
  • 若有多个任务,默认按照从上到下的顺序依次串行执行,如果某个任务是一个循环(Loop)任务,则在该任务内部可能出现并发的子执行。
  • 自定义模板Task不能超过30个。
Tasks结构
{
"Tasks": [
{
"Name": "TaskNa****",
"Description": "description",
"Action": "TaskType",
"ActionInfo": "TaskType",
"Timeout": 10,
"Parameters": {
"Property1": "Value1",
"Property2": "Value2"
},
"Outputs": {
"outputParameterName1": {
"Type": "String",
"ValueSelector": "{{ .jqselector }}"
}
},
"Loop": {
},
"OnError": "VOS::END/VOS::NEXT/other-task-name",
"OnSuccess": "VOS::NEXT/other-task-name/VOS::END"
}
]
}
参数
是否必填
说明
Name
任务名称,取值:
  • 仅支持字母、数字、中划线(-)和下划线(_)。
  • 长度限制为1 ~ 200个字符。
Description
描述信息,描述当前任务的用途。
Action
动作的名称。
Timeout
可选,超时时间,最长600s。
Parameters
当前Task执行时需要的参数集合,可通过JQ表达获取值。需要的参数由Action确定,具体参考动作章节。
Outputs
当前任务的输出定义,可以用作后续任务的输入或模板的输出。了解更多
  • Type:字段类型。
  • Value:字段值。
Loop
任务循环,详情请参见循环任务(Loop)
OnError/OnSuccess
任务执行结果为失败或成功时,指定后续的操作。取值:
  • OnError用于定义任务执行失败时的行为,当为:
  • VOS::END(默认):终止整个执行。
  • VOS::Next:继续执行下一个任务
  • OnSuccess用于定义任务执行成功时的行为,当为:
  • VOS::END:终止整个执行。
  • VOS::Next(默认):执行下一个任务。
循环任务(Loop)
火山引擎为Task提供特殊属性“循环任务”,基于LoopItem给定的Item列表,可自动生成批量任务执行,并支持配置执行批次、并发度等参数,实现规模化任务调度。
说明
  • API类action和云产品action的任务可支持循环,功能性的action(如Trigger、Sleep等)的任务不支持循环。
  • 任务循环支持并发,不过单步模式执行下循环的任务则自动调整为依次执行无并发。
  • 任务循环,相当于一个Task根据不同入参的多次执行。
  • VOS::LoopItem:是一个内置变量,用于表示参数取值来源于“Loop”字段定义的循环项,例如 {{ .InstanceIds }} 中的每个元素会通过此变量依次获取。
使用限制
Loop Items的个数限制当前最大为1000个。
语法结构
{
"Parameters": {
"InstanceIds": {
"Type": "List"
}
},
"Tasks": [
{
"Name": "StartInstances",
"Action": "VOS::ECS::StartOneInstance",
"Parameters": {
"InstanceId": "{{ VOS::LoopItem }}"
},
"Outputs": {
"InstanceStatus": {
"Type": "String",
"Value": "{{ .InstanceStatus }}"
}
},
"Loop": {
"LoopItem": "{{ .InstanceIds }}",
"Outputs": {
"LoopInstanceStatus": {
"SelectedOutputFiled": "InstanceStatus"
}
}
}
}
],
"Outputs": {
"InstanceStatus": {
"Type": "List",
"Value": "{{ .\"StartInstances.LoopInstanceStatus\" }}"
}
}
}
参数说明
  • LoopItem:循环对象。
  • Outputs:单个任务的输出。
  • 并发控制
  • Mode:为分组执行,包括Batch和Concurrency,可以控制最大错误数。
  • Batch:对总数进行分批次,相关参数说明如下:
  • BatchSize:每一批次的数量,默认1。
  • BatchPauseOption:对批次间的控制,默认自动执行下一批次。
  • MaxErrorsValue:最大错误数。
  • Concurrency:并发执行。
  • ConcurrencySize:并发度。
  • MaxErrorsValue:最大错误数。
Outputs说明
Outputs(输出)用于获取模板执行后的关键数据,确保使用者能准确获取所需的结果(如实例操作后的状态、任务 ID、执行时间等)。
示例如下:
{
"Parameters": {
"InstanceId": {
"Type": "String"
},
"ForceStop": {
"Type": "Boolean"
}
},
"Tasks": [
{
"Name": "CheckInst****",
"Action":"VOS::CheckFor",
"Parameters": {
"APIInfo":{
"Service": "ecs",
"APIName": "DescribeInst****",
"Version": "2020-04-01",
"Parameters": {
"InstanceIds": "{{ [.InstanceId] }}"
},
"DesiredValues": ["RUNNING"],
"NotDesiredValues": ["ERROR", "STOPPED"],
"ValueSelector": "{{ [.Instances[].Status] }}"
}
},
"Outputs": {
"InstanceStatus": {
"Type": "List",
"Value": "{{ [.Instances[].Status] }}"
}
}
}
],
"Outputs": {
"InstanceStatus": {
"Type": "String",
"Value": "{{ .\"CheckInstances.InstanceStatus\".[0] }}"
}
}
}
最近更新时间:2025.10.14 19:51:05
这个页面对您有帮助吗?
有用
有用
无用
无用