
# 创建定时启停规则 - CreateTimerRule
#### 功能介绍
创建定时启停规则。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CAE/doc?api=CreateTimerRule)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cae/cae_06_0016.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
#### URI
POST /v1/{project_id}/cae/timer-rules
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID，获取项目ID请参见[获取项目ID](https://support.huaweicloud.com/api-cae/cae_06_0021.html)。 |
#### 请求参数
表2请求Header参数 
| 参数                      | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| X-Auth-Token            | 是    | String | 用户Token。 - 获取Token，请参考《[统一身份认证服务API参考](https://support.huaweicloud.com/api-iam/iam_30_0001.html)》的"获取用户Token"章节。 - 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。                                                               |
| X-Enterprise-Project-ID | 否    | String | 企业项目ID。 - 创建环境时，环境会绑定企业项目ID。 - 最大长度36字节，带"-"连字符的UUID格式，或者是字符串"0"。 - 该字段不传（或传为字符串"0"）时，则查询默认企业项目下的资源。 说明： 关于企业项目ID的获取及企业项目特性的详细信息，请参见《[企业管理服务用户指南](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html)》。 |
| X-Environment-ID        | 是    | String | 环境ID。 - 获取环境ID，通过[获取环境列表](https://support.huaweicloud.com/api-cae/ListEnvironments.html)来获取环境信息。 - 请求响应成功后在响应体的items数组中的一个元素即为一个环境的信息，其中id字段即是环境ID。                                                                            |
   
表3请求Body参数 
| 参数          | 是否必选 | 参数类型                                                                              | 描述                           |
|:---|:---|:---|:---|
| api_version | 否    | String                                                                            | API版本，固定值"v1"，该值不可修改。        |
| kind        | 否    | String                                                                            | API类型，固定值"TimerRule"，该值不可修改。 |
| spec        | 否    | [UpdateTimerRuleDetails] object | 启停规则规格信息。                    |
   
 表4UpdateTimerRuleDetails 
| 参数               | 是否必选 | 参数类型                                                                      | 描述                                                                                |
|:---|:---|:---|:---|
| name             | 是    | String                                                                    | 定时启停规则名称。                                                                         |
| type             | 是    | String                                                                    | **参数解释：** 定时启停规则的类型：stop/start。 **取值范围：** - stop：停止策略 - start：启动策略 **默认取值：** 不涉及。 |
| status           | 是    | String                                                                    | **参数解释：** 定时启停规则状态（是否开启）：on/off。 **取值范围：** - on：开启 - off：关闭 **默认取值：** 不涉及。        |
| apps             | 否    | Array of [AppInfo] objects             | 定时启停规则所包含的所有应用，只在生效范围为application的时候需要填写。                                         |
| components       | 否    | Array of [ComponentInfo] objects | 在定时启停规则所包含的所有组件，只在生效范围为component的时候需要填写。                                          |
| cron             | 是    | String                                                                    | cron表达式。                                                                          |
| effective_range  | 是    | String                                                                    | 定时启停规则生效范围: component/application/environment。                                    |
| effective_policy | 是    | String                                                                    | 定时启停规则的定时类别: onetime/periodic。                                                    |
| timezone_offset  | 是    | String                                                                    | 定时启停规则中的时区偏移量，例如北京时间为+8                                                           |
   
 表5AppInfo 
| 参数       | 是否必选 | 参数类型   | 描述    |
|:---|:---|:---|:---|
| app_id   | 否    | String | 应用ID。 |
| app_name | 否    | String | 应用名称。 |
   
 表6ComponentInfo 
| 参数             | 是否必选 | 参数类型   | 描述    |
|:---|:---|:---|:---|
| component_id   | 否    | String | 组件ID。 |
| component_name | 否    | String | 组件名称。 |
   
#### 响应参数
**状态码：200**
表7响应Body参数 
| 参数          | 参数类型                                                                             | 描述                           |
|:---|:---|:---|
| api_version | String                                                                           | API版本，固定值"v1"，该值不可修改。        |
| kind        | String                                                                           | API类型，固定值"TimerRule"，该值不可修改。 |
| items       | Array of [TimerRuleDetails] objects | 启停规则列表。                      |
   
 表8TimerRuleDetails 
| 参数                    | 参数类型                                                                       | 描述                                                                                                                                                          |
|:---|:---|:---|
| id                    | String                                                                     | 定时启停规则ID，在创建定时启停规则时会忽略。                                                                                                                                     |
| name                  | String                                                                     | 定时启停规则名称。                                                                                                                                                   |
| type                  | String                                                                     | **参数解释：** 定时启停规则的类型：stop/start。 **取值范围：** - stop：停止策略 - start：启动策略 **默认取值：** 不涉及。                                                                           |
| status                | String                                                                     | **参数解释：** 定时启停规则状态（是否开启）：on/off。 **取值范围：** - on：开启 - off：关闭 **默认取值：** 不涉及。                                                                                  |
| env_id                | String                                                                     | 环境ID。                                                                                                                                                       |
| apps                  | Array of [AppInfo] objects             | 定时启停规则所包含的所有应用，只在生效范围为application的时候需要填写。                                                                                                                   |
| components            | Array of [ComponentInfo] objects | 在定时启停规则所包含的所有组件，只在生效范围为component的时候需要填写。                                                                                                                    |
| component_number      | Integer                                                                    | 定时启停规则包含的组件个数，在创建定时启停规则时会忽略。                                                                                                                                |
| cron                  | String                                                                     | cron表达式。                                                                                                                                                    |
| effective_range       | String                                                                     | 定时启停规则生效范围: component/application/environment。                                                                                                              |
| effective_policy      | String                                                                     | 定时启停规则的定时类别: onetime/periodic。                                                                                                                              |
| last_execution_status | String                                                                     | **参数解释：** 上次执行的状态：abnormal/normal/waiting，在创建定时启停规则时会忽略。 **取值范围：** - abnormal：不正常 - normal：正常 - waiting：未执行 **默认取值：** 获取定时启停规则列表时，默认取值为waiting。其他情况不涉及默认取值。 |
| timezone_offset       | String                                                                     | 定时启停规则中的时区偏移量，例如北京时间为+8                                                                                                                                     |
   
 表9AppInfo 
| 参数       | 参数类型   | 描述    |
|:---|:---|:---|
| app_id   | String | 应用ID。 |
| app_name | String | 应用名称。 |
   
 表10ComponentInfo 
| 参数             | 参数类型   | 描述    |
|:---|:---|:---|
| component_id   | String | 组件ID。 |
| component_name | String | 组件名称。 |
   
#### 请求示例
创建定时启停规则，策略名称为"test"，是一个启动策略，生效组件范围涉及环境中的所有组件，触发策略为"执行一次"。
```
POST https://{endpoint}/v1/{project_id}/cae/timer-rules
{
  "api_version" : "v1",
  "kind" : "TimerRule",
  "spec" : {
    "name" : "test",
    "type" : "start",
    "cron" : "0 55 16 22 2 ? 2023",
    "status" : "on",
    "env_id" : "c41a8e9f-5447-406a-8783-85885f3870a3",
    "effective_range" : "environment",
    "effective_policy" : "onetime"
  }
}
```
#### 响应示例
**状态码：200**
请求成功。
```
{
  "api_version": "v1",
  "kind": "TimerRule",
  "items": [
    {
      "id": "string",
      "name": "string",
      "type": "start",
      "env_id": "string",
      "cron": "0 16 17 31 1 ? 2023",
      "component_number": 2,
      "status": "off",
      "last_execution_status": "normal",
      "effective_range": "application",
      "effective_policy": "onetime",
      "timezone_offset": "+8",
      "apps": [
        {
          "app_id": "string",
          "app_name": "string"
        }
      ]
  ]
}
```
#### 状态码
| 状态码 | 描述    |
|:---|:---|
| 200 | 请求成功。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cae/ErrorCode.html)。
