校验流程
功能介绍
校验流程合法性。
URI
POST /v1/workflows/validate
请求消息
请求参数
请求参数如表1所示。
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
inputs |
是 |
流程输入,子元素为输入参数/输入参数属性键值对。 |
|
|
metadata |
否 |
流程中各Job关系定义。 |
|
|
version |
是 |
String |
模板版本号。 |
|
volumes |
是 |
存储卷。 |
|
|
workflow |
是 |
流程中每个Job的具体内容。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
Designer |
是 |
每个Job的设计器属性。 |
|
|
relationships |
是 |
各Job依赖关系。 |
|
|
version |
是 |
String |
模板版本号。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
default |
是 |
String |
默认值 |
|
description |
是 |
String |
描述信息 |
|
type |
是 |
String |
参数类型。支持选项:
|
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
position |
是 |
元素的锚点坐标。 |
|
|
relateto |
否 |
List |
以该Job为起点的依赖关系。 |
|
size |
是 |
元素的大小。 |
|
|
z |
是 |
Integer |
元素的z坐标。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
Job |
是 |
该Job的依赖和被依赖关系,map中只有一个以“references”为key的键值对,references的具体结构见表15 references。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
depends |
否 |
List |
该Job所依赖的Job列表,List中每个元素的结构见表16 depends。 |
|
relateto |
否 |
List |
依赖该Job的Job列表,List中每个元素为Job ID。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
target |
是 |
String |
所依赖的任务名,请确保指定的任务名必须存在。 |
|
type |
是 |
Enum |
依赖方式,可取值为:
例如,如果步骤一和步骤二都并发执行100个容器。
|
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
mount_from |
是 |
Map |
挂载卷的来源,Map子元素为以“pvc”为key的键值对,value可使用inputs或系统默认的输入值。 |
|
mount_path |
是 |
String |
卷挂载到的路径。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
commands |
是 |
List |
Job所要执行的命令,List每个元素代表一条命令 |
|
depends |
是 |
List |
所依赖的Job和依赖类型,具体结构见表16 depends |
|
metadata |
是 |
Map |
Job元信息,Map子元素为以“Designer”为key的Map,该嵌套的Map中只有一个以“id”为key的Map,value为Job ID |
|
resources |
是 |
Map |
Job资源申请量,两个子元素分别为“cpu”和“memory” |
|
tool |
是 |
String |
Job所要用到的工具 |
|
type |
是 |
Enum |
Job投递的环境类型。["GCS.job"] |
请求示例
POST /v1/workflows/validate HTTP/1.1
Host:Host Server
Content-Type:application/json
{
"workflow_content": {
"version": "genecontainer_0_1",
"inputs": {
"prepare-command": {
"default": "echo job-prepare",
"description": "执行在所有命令之前的命令",
"type": "string",
"label": "basic"
},
"count": {
"default": 1,
"description": "执行的job个数",
"type": "number",
"label": "basic"
}
},
"workflow": {
"task": {
"type": "GCS.Job",
"tool": "nginx:latest",
"commands_iter": {
"command": "${prepare-command}; echo ${1};",
"vars_iter": ["range(0, ${count})"]
}
}
}
}
}
响应消息
响应参数
响应中含有多个流程结构,结构请参见流程语法说明。
响应示例
{
"version": "genecontainer_0_1",
"inputs": {
"count": {
"default": 1,
"description": "执行的job个数",
"type": "number",
"label": "basic"
},
"prepare-command": {
"default": "echo job-prepare",
"description": "执行在所有命令之前的命令",
"type": "string",
"label": "basic"
}
},
"workflow": {
"task": {
"type": "GCS.Job",
"tool": "nginx:latest",
"image": "nginx:1.14",
"commands_iter": {
"command": "${prepare-command}; echo ${1};",
"vars_iter": [
"range(0, ${count})"
]
},
"depends": null
}
},
"volumes": null,
"outputs": null,
"tools": {
"nginx:latest": {
"type": "container",
"name": "nginx",
"version": "latest",
"image": "nginx:1.14",
"cpu": "2C",
"memory": "8G",
"command": "",
"description": "",
"scope": "domain"
}
}