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