
# 新增定时任务 - CreateScheduleTask
#### 功能介绍
新增定时任务。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/WorkspaceApp/doc?api=CreateScheduleTask)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-workspace/workspace_09_0128.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                             | 访问级别  | 资源类型（\*为必须）      | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | workspace:scheduledTasks:create | Write | scheduledTask \* | -   | -  | -      |
  | workspace:scheduledTasks:create | Write | desktop          | -   | -  | -      |
  | workspace:scheduledTasks:create | Write | desktopPool      | -   | -  | -      |
  | workspace:scheduledTasks:create | Write | server           | -   | -  | -      |
  | workspace:scheduledTasks:create | Write | serverGroup      | -   | -  | -      |
     
  
 
#### URI
POST /v1/{project_id}/schedule-task
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述      |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目唯一标识。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                              |
|:---|:---|:---|:---|
| X-Auth-Token | 否    | String | 用户Token。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
表3请求Body参数 
| 参数                   | 是否必选 | 参数类型                                                                         | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| scheduled_type       | 是    | String                                                                       | 执行周期： - *FIXED_TIME* - 指定时间   - *DAY* - 按天   - *WEEK* - 按周   - *MONTH* - 按月                                              |
| day_interval         | 否    | Integer                                                                      | 周期按天时：按x天间隔执行。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| week_list            | 否    | String                                                                       | 周期按周时：取值1\~7，英文逗号分隔，如1,2,7。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| month_list           | 否    | String                                                                       | 周期按月时：取值1\~12，英文逗号分隔，如1,3,12。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| date_list            | 否    | String                                                                       | 周期按月时：取值1\~31及L(代表当月最后一天)，英文逗号分隔，如1,2,28,L。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| time_zone            | 否    | String                                                                       | 时区。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| scheduled_date       | 否    | String                                                                       | 周期指定时间时：表示指定的日期，格式为yyyy-MM-dd。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| scheduled_time       | 否    | String                                                                       | 指定的执行时间点，格式为HH:mm:ss。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| expire_time          | 否    | String                                                                       | 到期时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| task_name            | 是    | String                                                                       | 任务名称，名称需满足如下规则: 1. 由中文，英文大小写，数字，_-组成，不能有空格。   2. 长度范围1\~64个字符。                                                                                                                                                                                                                                                                                                                                   |
| task_type            | 是    | String                                                                       | 定时任务类型： - *RESTART_SERVER* - 定时重启服务器   - *START_SERVER* - 定时开机   - *STOP_SERVER* - 定时关机   - *REINSTALL_OS* - 定时重装操作系统    |
| schedule_task_policy | 否    | [ScheduleTaskPolicy] object | 定时任务策略。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| description          | 否    | String                                                                       | 任务描述。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| target_infos         | 是    | Array of [TargetInfo] objects       | 定时任务对象列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   
 表4ScheduleTaskPolicy 
| 参数                 | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| enforcement_enable | 否    | Boolean | 当存在会话的时候，是否强制执行，强制执行开关。取值为： - false：表示关闭。   - true：表示开启。    |
   
 表5TargetInfo 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| target_type | 是    | String | 定时任务对象类型： - *SERVER* - 服务器   - *SERVER_GROUP* - 服务器组    |
| target_id   | 是    | String | 对象id。                                                                                                                                                                                                                                                                                                                                                                                                       |
| target_name | 否    | String | 对象名称。                                                                                                                                                                                                                                                                                                                                                                                                       |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数                   | 参数类型                                                                          | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| id                   | String                                                                        | 定时任务主键id。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| task_name            | String                                                                        | 任务名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| last_status          | String                                                                        | 最后一次执行状态。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| task_type            | String                                                                        | 定时任务类型： - *RESTART_SERVER* - 定时重启服务器   - *START_SERVER* - 定时开机   - *STOP_SERVER* - 定时关机   - *REINSTALL_OS* - 定时重装操作系统    |
| task_cron            | String                                                                        | 定时任务表达式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| next_execution_time  | String                                                                        | 下一次执行时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| schedule_task_policy | [ScheduleTaskPolicy] object | 定时任务策略。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| scheduled_type       | String                                                                        | 执行周期： - *FIXED_TIME* - 指定时间   - *DAY* - 按天   - *WEEK* - 按周   - *MONTH* - 按月                                              |
| day_interval         | Integer                                                                       | 周期按天时：按x天间隔执行。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| week_list            | String                                                                        | 周期按周时：取值1\~7，英文逗号分隔，如1,2,7。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| month_list           | String                                                                        | 周期按月时：取值1\~12，英文逗号分隔，如1,3,12。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| date_list            | String                                                                        | 周期按月时：取值1\~31及L(代表当月最后一天)，英文逗号分隔，如1,2,28,L。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| time_zone            | String                                                                        | 时区。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| scheduled_date       | String                                                                        | 周期指定时间时：表示指定的日期，格式为yyyy-MM-dd。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| scheduled_time       | String                                                                        | 指定的执行时间点，格式为HH:mm:ss。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| expire_time          | String                                                                        | 到期时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| description          | String                                                                        | 任务描述。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| is_enable            | Boolean                                                                       | 是否是开启状态。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| create_time          | String                                                                        | 创建时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| update_time          | String                                                                        | 更新时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
 表7ScheduleTaskPolicy 
| 参数                 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| enforcement_enable | Boolean | 当存在会话的时候，是否强制执行，强制执行开关。取值为： - false：表示关闭。   - true：表示开启。    |
   
**状态码：400**
表8响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：401**
表9响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：403**
表10响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：404**
表11响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：405**
表12响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：500**
表13响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：503**
表14响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
#### 请求示例
```
{
  "scheduled_type" : "day",
  "day_interval" : 1,
  "week_list" : "1,2,7",
  "month_list" : "1,3,12",
  "date_list" : "1,2,28,L",
  "time_zone" : "Asia/Shanghai",
  "scheduled_date" : "2022-12-23",
  "scheduled_time" : "09:00:00",
  "expire_time" : "2022-03-07T10:40:43.858Z",
  "task_name" : "定时开机任务",
  "task_type" : "RESTART_SERVER",
  "schedule_task_policy" : {
    "enforcement_enable" : false
  },
  "description" : "用于开关机。",
  "target_infos" : [ {
    "target_type" : "SERVER",
    "target_id" : [ "3f791197-d166-4c8e-81e4-38c40ffc1989" ]
  } ]
}
```
#### 响应示例
**状态码：200**
成功响应。
```
{
  "id" : "62f48b59-0ebb-4b1e-ad35-f64948a0591b",
  "task_name" : "定时开机任务",
  "last_status" : "WAITING",
  "task_type" : "RESTART_SERVER",
  "task_cron" : "*/10 * * * * ?",
  "next_execution_time" : "2022-12-23 09:00:00",
  "schedule_task_policy" : {
    "enforcement_enable" : false
  },
  "scheduled_type" : "day",
  "day_interval" : 1,
  "week_list" : "1,2,7",
  "month_list" : "1,3,12",
  "date_list" : "1,2,28,L",
  "time_zone" : "Asia/Shanghai",
  "scheduled_date" : "2022-12-23",
  "scheduled_time" : "09:00:00",
  "expire_time" : "2022-03-07T10:40:43.858Z",
  "description" : "用于开关机。",
  "is_enable" : false,
  "create_time" : "2022-03-07T10:40:43.858Z",
  "update_time" : "2024-12-25T12:37:28.715Z"
}
```
#### 状态码
| 状态码 | 描述                      |
|:---|:---|
| 200 | 成功响应。                   |
| 400 | 由于包含语法错误，当前请求无法被服务器理解。  |
| 401 | 鉴权失败。                   |
| 403 | 没有操作权限。                 |
| 404 | 找不到资源。                  |
| 405 | 请求中指定的方法不被允许。           |
| 500 | 服务内部错误，具体返回错误码请参见错误码说明。 |
| 503 | 服务不可用。                  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-workspace/ErrorCode_0.html)。
