校验流程
功能介绍
校验流程合法性。
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"
}
}