更新时间:2024-06-06 GMT+08:00

创建脚本

功能介绍

创建作业脚本:自定义脚本

  • 脚本有标签属性,表示是高危脚本。创建时候不需要对脚本进行是否是高危的二次校验。
  • 进行租户隔离;北向接口创建的脚本,审批人字段不填写,默认不需要审批
  • 约束条件:
  • 脚本名称:同一租户下,脚本名称不能重复,最大字符64个字符,支持中文+字母+数字+下划线。
  • 脚本内容最大4096个字符。
  • 脚本参数个数最多20个。
  • 脚本描述:最大256个字符。
  • 单个参数的参数名称 64个字符,只支持字母+数字+下划线。
  • 单个参数的值最大1024个字符,正则表达式如下:^((?!.{2,})[a-zA-Z0-9_-/.*\x20?:",=+@\[{]}])*$。
  • 审批人最多支持5人。
  • 脚本输出的日志总量只支持1MB。

URI

POST /v1/job/scripts

请求参数

表1 请求Body参数

参数

是否必选

参数类型

描述

name

String

脚本名称:只能包含中文、英文、数字、下划线

最小长度:1

最大长度:64

properties

ScriptPropertiesModel object

脚本标签:

  • 风险等级risk_level(取值范围:LOW/MEDIUM/HIGH)、审批人reviewer、脚本解释器interpreter等

description

String

脚本描述

最小长度:1

最大长度:256

type

String

脚本类型: 对于脚本后缀: SHELL:.sh PYTHON:.py BAT:.bat

枚举值:

  • SHELL
  • PYTHON
  • BAT

content

String

脚本内容

最小长度:1

最大长度:4096

script_params

Array of ScriptParamDefine objects

脚本入参

数组长度:0 - 20

表2 ScriptPropertiesModel

参数

是否必选

参数类型

描述

risk_level

String

风险等级 LOW:低风险 MEDIUM:中风险 HIGH:高风险

枚举值:

  • LOW
  • MEDIUM
  • HIGH

version

String

脚本版本号

最小长度:1

最大长度:10

reviewers

Array of ReviewerInfo objects

审批人,不填写不需要审批

数组长度:0 - 5

protocol

String

审批消息通知协议,用于通知审批人 DEFAULT:默认 SMS:短信 EMAIL:邮件 DING_TALK:钉钉 WE_LINK:welink WECHAT:微信 CALLNOTIFY:语言 NOT_TO_NOTIFY:不通知

枚举值:

  • DEFAULT
  • SMS
  • EMAIL
  • DING_TALK
  • WE_LINK
  • WECHAT
  • CALLNOTIFY
  • NOT_TO_NOTIFY
表3 ReviewerInfo

参数

是否必选

参数类型

描述

reviewer_name

String

审批人名称(IAM用户名)

最小长度:1

最大长度:64

reviewer_id

String

审批人ID(IAM用户Id)

最小长度:0

最大长度:32

表4 ScriptParamDefine

参数

是否必选

参数类型

描述

param_name

String

参数名称:只支持英文、数字、下划线

最小长度:1

最大长度:64

param_value

String

参数默认值

最小长度:0

最大长度:1024

param_description

String

参数描述

最小长度:0

最大长度:256

param_order

Integer

参数顺序,从1开始,保持连续

最小值:1

最大值:20

sensitive

Boolean

是否是敏感参数

响应参数

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:8

最大长度:36

error_msg

String

错误描述

最小长度:2

最大长度:512

请求示例

实例请求体

https://coc.myhuaweicloud.com/v1/job/scripts

{
  "type" : "SHELL",
  "content" : "echo ${value}",
  "name" : "09101112",
  "description" : "实例脚本",
  "properties" : {
    "risk_level" : "HIGH",
    "version" : "1.0.0",
    "reviewers" : [ {
      "reviewer_name" : "test",
      "reviewer_id" : "7a8513cd87b7448283a1d5190eb91234"
    } ],
    "protocol" : "WECHAT"
  },
  "script_params" : [ {
    "param_name" : "a",
    "param_value" : "string",
    "param_description" : "string",
    "param_order" : 1,
    "sensitive" : true
  } ]
}

响应示例

状态码: 200

脚本uuid

{
  "data" : "SC2023102521413701c4a8a62"
}

状态码: 400

包含错误信息

{
  "error_code" : "COC.00040701",
  "error_msg" : "script_params size must be between 0 and 50"
}

状态码

状态码

描述

200

脚本uuid

400

包含错误信息

错误码

请参见错误码