
# 批量创建Agent任务 - BatchCreateAgentInvocations
#### 功能介绍
批量创建Agent任务
#### 接口约束
目前拉美-布宜诺斯艾利斯一、拉美-利马一2个局点不支持该接口
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CES/doc?api=BatchCreateAgentInvocations&version=v2)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ces/ces_03_0045.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                              | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名                      | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | ces:agent:createAgentInvocations | Write | -           | -   | ces:taskInvocation:post | -      |
     
  
 
#### URI
POST /v3/{project_id}/agent-invocations/batch-create
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释** :项目ID。用于明确项目归属，配置后可通过该ID查询项目下资产，可以通过调用API获取，也可以从控制台获取。获取方式请参见"[获取项目ID](https://support.huaweicloud.com/api-ces/ces_03_0057.html)"。 **约束限制**: 不涉及 **取值范围**: 长度为\[1,64\]个字符 **默认取值**: 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| Content-Type | 否    | String | **参数解释**: 发送的实体的MIME类型 **约束限制**: 不涉及。 **取值范围**: 长度为\[1,64\]个字符 **默认取值**: application/json; charset=UTF-8                                                                                                                                                                                 |
| X-Auth-Token | 否    | String | **参数解释**: 用户project Token。用户Token也就是调用获取用户Token接口的响应值，该接口是唯一不需要认证的接口。请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。Token认证，具体操作请参考[认证鉴权](https://support.huaweicloud.com/api-ces/ces_03_0011.html)。 **约束限制**: 不涉及。 **取值范围**: 长度为\[1,16384\]个字符 **默认取值**: 不涉及 |
   
表3请求Body参数 
| 参数                  | 是否必选 | 参数类型                                                                                                                               | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| instance_ids        | 否    | Array of strings                                                                                                                   | **参数解释**: 主机id列表（INSTALL和UPDATE时必须） **取值范围**: 数组长度范围为\[1,100\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| invocation_type     | 是    | String                                                                                                                             | **参数解释**: 任务类型 **取值范围**: - INSTALL：安装   - UPDATE：升级   - ROLLBACK：回滚   - RETRY：重试   - SET_REMOTE_INSTALLER：设置远程安装主机   - REMOTE_INSTALL：执行远程安装    |
| invocation_target   | 否    | String                                                                                                                             | **参数解释**: 任务对象，目前仅支持telescope **取值范围**: - telescope：主机监控插件telescope                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| invocation_ids      | 否    | Array of strings                                                                                                                   | **参数解释**: 任务ID列表（ROLLBACK和RETRY时必须） **取值范围**: 数组长度范围为\[1,100\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| version_type        | 否    | String                                                                                                                             | **参数解释**: 插件升级时需要选择升级"基础版本"还是"增强版本" **取值范围**: - BASIC_VERSION: 升级成基础版本   - ADVANCE_VERSION: 升级成增强版本                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| origin              | 否    | String                                                                                                                             | **参数解释**: Agent任务接口调用源 **取值范围**: - CES: 由Console调用   - APICOM_BMS: 由裸金属服务器调用   - ADMIN_SERVER: 由运维平台调用                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| version             | 否    | String                                                                                                                             | **参数解释**: 版本号 **取值范围**: 数组长度范围为\[0,64\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| remote_install_meta | 否    | Array of [RemoteInstallHostInfo] objects | **参数解释**: 创建远程安装任务时需要下发的被安装主机相关信息 **取值范围**: 数组长度范围为\[0,100\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
 表4RemoteInstallHostInfo 
| 参数             | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| instance_name  | 否    | String  | **参数解释**: 被远程安装的主机名称 **取值范围**: 数组长度范围为\[1,128\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| remote_ip      | 否    | String  | **参数解释**: 被远程安装的主机IP **取值范围**: 仅由数字(0-9)和小数点(.)组成的字符串，字符串长度为\[1,15\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| user_name      | 否    | String  | **参数解释**: 被远程安装的主机的登录用户名 **取值范围**: 数组长度范围为\[1,16\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| port           | 否    | String  | **参数解释**: 被远程安装的主机的登录端口 **取值范围**: 数组长度范围为\[1,5\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| password       | 否    | String  | **参数解释**: 被远程安装的主机的登录密码 **取值范围**: 数组长度范围为\[1,3000\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| remote_use_pem | 否    | Boolean | **参数解释**: 被远程安装的主机远程连接是否采用密钥方式（false时为密码方式） **取值范围**: - false: 密码方式   - true: 密钥方式    |
   
#### 响应参数
**状态码：201**
表5响应Body参数 
| 参数          | 参数类型                                                                                                                                        | 描述                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| invocations | Array of [BatchCreateInvocationInfo] objects | **参数解释**: 创建任务的信息列表 **取值范围**: 数组长度范围为\[0,100\] |
   
 表6BatchCreateInvocationInfo 
| 参数            | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| instance_id   | String | **参数解释**: 机器id **取值范围**: 1到64个字符的字符串，且只包含字母、数字和连字符                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| invocation_id | String | **参数解释**: 任务id **取值范围**: 1到64个字符的字符串，且只包含字母、数字和连字符                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ret_status    | String | **参数解释**: 任务结果, successful成功，error失败 **取值范围**: - successful: 成功   - error: 失败    |
| error_code    | String | **参数解释**: 错误码 **取值范围**: 以"invocationmgr."开头且后跟4位数字的完整字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| error_msg     | String | **参数解释**: 错误信息 **取值范围**: 数组长度范围为\[1,128\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
**状态码：400**
表7响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误信息 |
   
**状态码：401**
表8响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误信息 |
   
**状态码：403**
表9响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误信息 |
   
**状态码：500**
表10响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误信息 |
   
#### 请求示例
```
{
  "instance_ids" : [ "instancexxx001", "instancexxx002" ],
  "invocation_type" : "INSTALL",
  "invocation_target" : "telescope"
}
```
#### 响应示例
**状态码：201**
Created
```
{
  "invocations" : [ {
    "instance_id" : "instancexxx001",
    "ret_status" : "successful"
  }, {
    "instance_id" : "instancexxx002",
    "ret_status" : "error",
    "error_msg" : "do not meet the installation conditions"
  } ]
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 201 | Created               |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 403 | Forbidden             |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ces/ErrorCode.html)。
