创建脚本 - CreateScripts
功能介绍
创建作业脚本:自定义脚本
- 
    
脚本有标签属性,表示是高危脚本。创建时候不需要对脚本进行是否是高危的二次校验。
 - 
    
进行租户隔离;北向接口创建的脚本,审批人字段不填写,默认不需要审批。
 
接口约束
- 
    
脚本名称:同一租户下,脚本名称不能重复,最大字符64个字符,支持中文+字母+数字+下划线。
 - 
    
脚本内容最大100kb。
 - 
    
脚本参数个数最多20个。
 - 
    
脚本描述:最大256个字符。
 - 
    
单个参数的参数名称 64个字符,只支持字母+数字+下划线。
 - 
    
单个参数的值最大1024个字符,正则表达式如下:^((?!.{2,})[a-zA-Z0-9_-/.*\x20?:",=+@\[{]}])*$。
 - 
    
审批人最多支持5人。
 - 
    
脚本输出的日志总量只支持1MB。
 
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
 - 如果使用身份策略授权,需具备如下身份策略权限。 
    
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
coc:document:create
Write
document *
-
-
-
 
URI
POST /v1/job/scripts
请求参数
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        X-Auth-Token  | 
      
        是  | 
      
        String  | 
      
        参数解释: 租户token。 约束限制: 从IAM获取的租户token。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        x-project-id  | 
      
        否  | 
      
        String  | 
      
        参数解释: 项目ID。 约束限制: region对应的项目ID。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        x-user-profile  | 
      
        否  | 
      
        String  | 
      
        参数解释: IAM5.0用户信息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        X-Language  | 
      
        否  | 
      
        String  | 
      
        参数解释: 国际化标记,zh-cn表示中文,en-us或不传表示英文。 约束限制: zh-cn表示中文,en-us或不传表示英文。 取值范围: zh-cn/en-us。 默认取值: 不涉及。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        name  | 
      
        是  | 
      
        String  | 
      
        参数解释: 脚本名称。 约束限制: 只能包含中文、英文、数字、下划线。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        properties  | 
      
        是  | 
      
        ScriptPropertiesModel object  | 
      
        参数解释: 脚本属性。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        description  | 
      
        是  | 
      
        String  | 
      
        参数解释: 脚本描述。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        type  | 
      
        是  | 
      
        String  | 
      
        参数解释: 脚本类型。 对于脚本后缀: 
 约束限制: 值只能为:SHELL、PYTHON、BAT。 取值范围: SHELL、PYTHON、BAT。 默认取值: 不涉及。  | 
     
| 
        content  | 
      
        是  | 
      
        String  | 
      
        参数解释: 脚本内容。 约束限制: 对应语言的脚本内容。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        enterprise_project_id  | 
      
        否  | 
      
        String  | 
      
        参数解释: 企业项目ID,默认为:0。 约束限制: 真实的企业项目ID。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        script_params  | 
      
        否  | 
      
        Array of ScriptParamDefine objects  | 
      
        参数解释: 脚本入参。 约束限制: 参数个数:0-20个。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        risk_level  | 
      
        是  | 
      
        String  | 
      
        参数解释: 风险等级。 约束限制: 
 取值范围: LOW/MEDIUM/HIGH。 默认取值: 不涉及。  | 
     
| 
        version  | 
      
        是  | 
      
        String  | 
      
        参数解释: 脚本版本号。 约束限制: 格式:1.0.0 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        reviewers  | 
      
        否  | 
      
        Array of ReviewerInfo objects  | 
      
        参数解释: 审批人,不填写不需要审批。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        protocol  | 
      
        否  | 
      
        String  | 
      
        参数解释: 审批消息通知协议,用于通知审批人。 约束限制: 
 取值范围: DEFAULT/DEFAULT/SMS/EMAIL/DING_TALK/WE_LINK/WECHAT/CALLNOTIFY/NOT_TO_NOTIFY。 默认取值: 不涉及。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        reviewer_name  | 
      
        是  | 
      
        String  | 
      
        参数解释: 审批人名称(IAM用户名)。 约束限制: IAM用户名。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        reviewer_id  | 
      
        是  | 
      
        String  | 
      
        参数解释: 审批人ID(IAM用户Id)。 约束限制: IAM用户Id。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        param_name  | 
      
        是  | 
      
        String  | 
      
        参数解释: 参数名。 约束限制: 参数名仅支持字母、数字以及下划线。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        param_value  | 
      
        是  | 
      
        String  | 
      
        参数解释: 参数值。 约束限制: 
 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        param_description  | 
      
        是  | 
      
        String  | 
      
        参数解释: 参数描述。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        param_order  | 
      
        是  | 
      
        Integer  | 
      
        参数解释: 参数顺序。【已废弃】该参数已废弃,传入该参数不会生效。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。  | 
     
| 
        sensitive  | 
      
        是  | 
      
        Boolean  | 
      
        参数解释: 是否是敏感参数。 约束限制: true/false。 取值范围: true/false。 默认取值: 不涉及。  | 
     
响应参数
状态码:200
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        data  | 
      
        String  | 
      
        参数解释: 创建脚本,系统返回的脚本ID。 取值范围: 不涉及。  | 
     
状态码:400
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        参数解释: 错误码。 取值范围: 参见错误码章节。  | 
     
| 
        error_msg  | 
      
        String  | 
      
        参数解释: 错误描述。 取值范围: 参见错误码章节。  | 
     
请求示例
创建一个SHELL脚本,审批消息通过微信通知审批人。
POST https://{Endpoint}/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" : "7a8513cd87b7448283xxxxxxxxx"
    } ],
    "protocol" : "WECHAT"
  },
  "script_params" : [ {
    "param_name" : "a",
    "param_value" : "string",
    "param_description" : "string",
    "param_order" : 1,
    "sensitive" : true
  } ]
}
 响应示例
状态码:200
创建的脚本uuid。
更多状态码请参考状态码。
{
  "data" : "SC2023102521xxxxxxxxxx"
}
  状态码:400
包含错误信息。
更多状态码请参考状态码。
{
  "error_code" : "COC.00040701",
  "error_msg" : "script_params size must be between 0 and 50"
}
 错误码
请参见错误码。