# 创建事件 - CreateSecretEvent
#### 功能介绍
创建事件，事件可配置在一个或多个凭据对象上。当事件为启用状态且包含的基础事件类型在凭据对象上触发时，云服务会将对应的事件通知发送至事件指定的通知主题上
#### 接口约束
创建的事件通知无法单独使用，需要配置在具体的凭据对象上。服务不会对事件通知中的通知对象进行有效性检查，如果用户账号下不存在该通知对象，则会造成事件触发时，事件通知失败
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dew/dew_02_0002.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dew/dew_02_0308.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项               | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名                | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | csms::createEvent | Write | -           | -   | csms:event:create | -      |
     
  
 
#### URI
POST /v1/{project_id}/csms/events
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目ID。可参考[获取项目ID](https://support.huaweicloud.com/api-dew/dew_02_0009.html)获取。 **约束限制：** 不涉及 **取值范围：** 以IAM服务接口返回值为准，字符长度32-32 **默认取值：** 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务查询用户Token接口获取（响应消息头中X-Subject-Token的值）。使用AK、SK等认证方式，此处非必选 **约束限制：** 不涉及 **取值范围：** IAM服务查询用户Token接口为准 **默认取值：** 不涉及 |
   
表3请求Body参数 
| 参数           | 是否必选 | 参数类型                                                            | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| name         | 是    | String                                                          | **参数解释：** 新创建事件通知的名称 **约束限制：** 取值范围为1到64个字符，满足正则匹配"\^\[a-zA-Z0-9_-\]{1,64}$" **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| event_types  | 是    | Array of strings                                                | **参数解释：** 本次事件通知的基础事件列表 **约束限制：** 基础事件类型如下 - SECRET_VERSION_CREATED：版本创建   - SECRET_VERSION_EXPIRED：版本过期   - SECRET_ROTATED：凭据轮转   - SECRET_DELETED：凭据删除   - SECRET_ROTATED_FAILED:凭据轮转失败    列表包含的基础事件类型不能重复 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| state        | 是    | String                                                          | **参数解释：** 控制事件是否生效，只有启用状态才能触发包含的基础事件类型 **约束限制：** - ENABLED：启用   - DISABLED：禁用    **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| notification | 是    | [Notification] object | 通知主题对象                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
 表4Notification 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| target_type | 是    | String | **参数解释：** 事件通知的对象类型 **约束限制：** 站点支持SMN消息或者EG消息的，可供选择 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| target_id   | 是    | String | **参数解释：** 事件通知的对象ID **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                   |
| target_name | 是    | String | **参数解释：** 事件通知的对象名称 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                   |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数    | 参数类型                                               | 描述                                                                                                                                              |
|:---|:---|:---|
| event | [Event] object | **参数解释：** 凭据事件通知信息 **取值范围：** 不涉及 |
   
 表6Event 
| 参数           | 参数类型                                                             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| name         | String                                                           | **参数解释：** 事件通知名称 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                 |
| event_id     | String                                                           | **参数解释：** 事件通知的资源标识符 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                             |
| event_types  | Array of strings                                                 | **参数解释：** 设置事件的基础事件类型列表 **取值范围：** 数组大小：最小1，最大12                                                                                                                                                                                                                                                                                                                                                                |
| state        | String                                                           | **参数解释：** 事件通知状态 **取值范围：** - ENABLED：表示启用状态   - DISABLED：表示禁用状态    |
| create_time  | Long                                                             | **参数解释：** 事件通知创建时间，时间戳，即从1970年1月1日至该时间的总毫秒数 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                      |
| update_time  | Long                                                             | **参数解释：** 事件通知上次更新时间，时间戳，即从1970年1月1日至该时间的总毫秒数 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                    |
| notification | [Notification] object | **参数解释：** 消息通知 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                   |
   
 表7Notification 
| 参数          | 参数类型   | 描述                                                                                                                                               |
|:---|:---|:---|
| target_type | String | **参数解释：** 事件通知的对象类型 **取值范围：** 不涉及 |
| target_id   | String | **参数解释：** 事件通知的对象ID **取值范围：** 不涉及 |
| target_name | String | **参数解释：** 事件通知的对象名称 **取值范围：** 不涉及 |
   
#### 请求示例
创建事件
```
{
  "name" : "demo-event",
  "event_types" : [ "SECRET_VERSION_CREATED", "SECRET_VERSION_EXPIRED" ],
  "state" : "ENABLED",
  "notification" : {
    "target_type" : "SMN",
    "target_id" : "urn:smn:cn-north-4:dc3b7c85759141a991da17423c0f2068:test-poc",
    "target_name" : "demo-smn-name"
  }
}
```
#### 响应示例
**状态码：200**
请求已成功
```
{
  "event" : {
    "name" : "event-test",
    "event_id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
    "state" : "ENABLED",
    "event_types" : [ "SECRET_VERSION_CREATED", "SECRET_VERSION_EXPIRED" ],
    "create_time" : 1581507580000,
    "update_time" : 1581507580000,
    "notification" : {
      "target_type" : "SMN",
      "target_id" : "urn:smn:cn-north-4:SecretExpirationTest",
      "target_name" : "SecretExpirationNotificationTest"
    }
  }
}
```
#### 状态码
| 状态码 | 描述    |
|:---|:---|
| 200 | 请求已成功 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dew/ErrorCode.html)。
