执行自定义脚本 - ExecuteScript
功能介绍
执行指定的自定义脚本。
接口约束
约束条件:
-
脚本入参支持20个。
-
单次下发的机器支持200个。
-
单次批次内机器数量最大10个。
-
最大批次数量为20批。
-
脚本输出的日志总量只支持1MB。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
coc:instance:executeDocument
Write
document *
-
-
-
instance *
-
URI
POST /v1/job/scripts/{script_uuid}
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
script_uuid |
是 |
String |
参数解释: 脚本UUID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
参数解释: 租户token。 约束限制: 从IAM获取的租户token。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
X-Language |
否 |
String |
参数解释: 国际化标记,zh-cn表示中文,en-us或不传表示英文。 约束限制: zh-cn表示中文,en-us或不传表示英文。 取值范围: zh-cn/en-us。 默认取值: 不涉及。 |
|
x-project-id |
否 |
String |
参数解释: 项目ID。 约束限制: region对应的项目ID。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
x-user-profile |
否 |
String |
参数解释: IAM5.0用户信息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
execute_param |
是 |
ScriptExecuteParam object |
参数解释: 脚本执行参数。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
execute_batches |
是 |
Array of ExecuteInstancesBatchInfo objects |
参数解释: 目标实例分批信息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
resourceful |
否 |
Boolean |
参数解释: 该参数已废弃,传入该参数不会生效。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
timeout |
是 |
Integer |
参数解释: 超时时间。 约束限制: 单位:秒,取值范围:5 < timeout < 1800。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
success_rate |
是 |
Double |
参数解释: 成功率, 约束限制: 支持小数点后一位。 取值范围: 1-100。 默认取值: 不涉及。 |
|
execute_user |
是 |
String |
参数解释: 脚本执行用户,如:root。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
script_params |
否 |
Array of ScriptExecuteInputParam objects |
参数解释: 脚本入参列表。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
param_name |
是 |
String |
参数解释: 脚本入参的名称,同一个脚本,参数名不能重复。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
param_value |
是 |
String |
参数解释: 脚本入参的值,默认必填。有引用参数(param_refer不为空)时,允许为空。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
|
param_order |
否 |
Integer |
参数解释: 【已废弃】该参数已废弃,传入该参数不会生效。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
param_refer |
否 |
ScriptExecuteParamReference object |
参数解释: 参数引用。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
refer_type |
是 |
String |
参数解释: 参数引用类型:PARAM_STORE。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
param_id |
是 |
String |
参数解释: 引用参数的唯一主键id。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
|
param_version |
否 |
String |
参数解释: 引用参数的版本号。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
batch_index |
是 |
Integer |
参数解释: 批次索引,从1开始。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
target_instances |
是 |
Array of ExecuteResourceInstance objects |
参数解释: 目标节点列表。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
rotation_strategy |
是 |
String |
参数解释: 暂停继续策略。 约束限制:
取值范围: CONTINUE/PAUSE。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
resource_id |
是 |
String |
参数解释: ECS云服务器ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
region_id |
是 |
String |
参数解释: 服务器所属region。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
provider |
否 |
String |
参数解释: 资源提供者:ECS,不传默认为:ECS。请保证一次执行, 每个实例的provider是一致的。后续扩展CCE等。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
type |
否 |
String |
参数解释: 资源提供者下资源类型,不传默认为CLOUDSERVER。 CLOUDSERVER:CLOUDSERVER类型。 约束限制: 不允许跨type支持。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
custom_attributes |
否 |
Array of Customttribute objects |
参数解释: 支持用户自定义5个key_value形式的属性。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
|
agent_sn |
否 |
String |
参数解释: 【已废弃】该参数已废弃,传入该参数不会生效。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
project_id |
否 |
String |
参数解释: 【已废弃】该参数已废弃,传入该参数不会生效。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
data |
String |
参数解释: execute_uuid。 取值范围: 不涉及。 |
状态码:204
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
参数解释: 错误码。 取值范围: 参见错误码章节。 |
|
error_msg |
String |
参数解释: 错误描述。 取值范围: 参见错误码章节。 |
请求示例
执行脚本请求体示例。
POST https://{Endpoint}/v1/job/scripts/{script_uuid}
{
"execute_param" : {
"timeout" : 300,
"execute_user" : "root",
"success_rate" : "100.0",
"script_params" : [ {
"param_name" : "a",
"param_value" : "key1",
"param_order" : 1
} ]
},
"execute_batches" : [ {
"batch_index" : 1,
"rotation_strategy" : "CONTINUE",
"target_instances" : [ {
"resource_id" : "resource_id",
"agent_sn" : "agent_sn",
"agent_status" : "ONLINE",
"region_id" : "cn-north-7",
"project_id" : "project_id"
} ]
} ]
}
响应示例
状态码:200
请求成功。
更多状态码请参考状态码。
{
"data" : "SCT2023083109562601axxxxx"
}
状态码:204
包含错误信息。
更多状态码请参考状态码。
{
"error_code" : "COC.00040701",
"error_msg" : "error_msg"
}
错误码
请参见错误码。