
# 修改生命周期挂钩 - UpdateLifeCycleHook
#### 功能介绍
修改一个指定生命周期挂钩中的信息。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/AS/doc?api=UpdateLifeCycleHook)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-as/as_07_0200.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                                 | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                | 别名                       | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | as:scalingGroup:updateLifecycleHook | write | -           | [g:EnterpriseProjectId](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html#section2) | as:lifecycleHooks:update | -      |
     
  
 
#### URI
PUT /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}
表1参数说明 
| 参数                  | 是否必选 | 参数类型   | 描述       |
|:---|:---|:---|:---|
| project_id          | 是    | String | 项目ID     |
| scaling_group_id    | 是    | String | 伸缩组ID    |
| lifecycle_hook_name | 是    | String | 生命周期挂钩名称 |
   
#### 请求参数
表2请求参数 
| 参数                     | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| lifecycle_hook_type    | 否    | String  | 生命周期挂钩类型。取值如下： - INSTANCE_TERMINATING：该类型挂钩负责在实例终止时将实例挂起。  - INSTANCE_LAUNCHING：该类型挂钩负责在实例启动时将实例挂起。                                                                                                                                                                                                                                                                                                                                                                                                     |
| default_result         | 否    | String  | 生命周期挂钩默认回调操作。默认情况下，到达超时时间后执行的操作。 - ABANDON  - CONTINUE   说明： - 如果实例正在启动，则CONTINUE表示用户自定义操作已成功，可将实例投入使用。否则，ABANDON 表示用户自定义操作未成功，终止实例，伸缩活动置为失败，重新创建新实例。  - 如果实例正在终止，则ABANDON和CONTINUE都允许终止实例。不过，ABANDON将停止其他生命周期挂钩，而CONTINUE将允许完成其他生命周期挂钩。  - 该字段缺省时默认为ABANDON。   |
| default_timeout        | 否    | Integer | 生命周期挂钩超时时间，取值范围60-86400，默认为3600，单位是秒。 默认情况下，实例保持等待状态的时间。您可以延长超时时间，也可以在超时时间结束前进行CONTINUE或ABANDON操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| notification_topic_urn | 否    | String  | SMN服务中Topic的唯一的资源标识。 为生命周期挂钩定义一个通知目标，当实例被生命周期挂钩挂起时向该通知目标发送消息。该消息包含实例的基本信息、用户自定义通知消息，以及可用于控制生命周期操作的令牌信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| notification_metadata  | 否    | String  | 自定义通知消息，长度不超过256位，不能包含字符\< \> \& ' ( ) 当配置了通知目标时，可向其发送用户自定义的通知内容。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   
#### 请求示例
修改ID为e5d27f5c-dd76-4a61-b4bc-a67c5686719a的伸缩组内挂钩名称为test-hook1的生命周期挂钩，将其回调操作修改为CONTINUE。
```
PUT https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/test-hook1
{
    "default_result": "CONTINUE"
}
```
#### 响应参数
表3响应参数 
| 参数                      | 参数类型    | 描述                                                                                                                                                                                                                                         |
|:---|:---|:---|
| lifecycle_hook_name     | String  | 生命周期挂钩名称                                                                                                                                                                                                                                   |
| lifecycle_hook_type     | String  | 生命周期挂钩类型。 - INSTANCE_TERMINATING  - INSTANCE_LAUNCHING   |
| default_result          | String  | 生命周期挂钩默认回调操作。 - ABANDON  - CONTINUE                     |
| default_timeout         | Integer | 生命周期挂钩超时时间，单位秒。                                                                                                                                                                                                                            |
| notification_topic_urn  | String  | SMN服务中Topic的唯一的资源标识。                                                                                                                                                                                                                       |
| notification_topic_name | String  | SMN服务中Topic的资源名称。                                                                                                                                                                                                                          |
| notification_metadata   | String  | 自定义通知消息。                                                                                                                                                                                                                                   |
| create_time             | String  | 创建生命周期挂钩时间，遵循UTC时间。                                                                                                                                                                                                                        |
   
#### 响应示例
```
{
    "lifecycle_hook_name": "test-hook1",
    "default_result": "CONTINUE",
    "default_timeout": 3600,
    "notification_topic_urn": "urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh",
    "notification_topic_name": "gsh",
    "lifecycle_hook_type": "INSTANCE_LAUNCHING",
    "notification_metadata": null,
    "create_time": "2016-11-18T04:01:34Z"
}
```
#### 返回值
- 正常 200
  
- 异常
  
  | 返回值                               | 说明                           |
  |:---|:---|
  | 400 Bad Request                   | 服务器未能处理请求。                   |
  | 401 Unauthorized                  | 被请求的页面需要用户名和密码。              |
  | 403 Forbidden                     | 对被请求的页面访问禁止。                 |
  | 404 Not Found                     | 服务器无法找到被请求的页面。               |
  | 405 Method Not Allowed            | 请求中指定的方法不被允许。                |
  | 406 Not Acceptable                | 服务器生成的响应无法被客户端所接受。           |
  | 407 Proxy Authentication Required | 用户必须首先使用代理服务器进行验证，这样请求才会被处理。 |
  | 408 Request Timeout               | 请求超出了服务器的等待时间。               |
  | 409 Conflict                      | 由于冲突，请求无法被完成。                |
  | 500 Internal Server Error         | 请求未完成。服务异常。                  |
  | 501 Not Implemented               | 请求未完成。服务器不支持所请求的功能。          |
  | 502 Bad Gateway                   | 请求未完成。服务器从上游服务器收到一个无效的响应。    |
  | 503 Service Unavailable           | 请求未完成。系统暂时异常。                |
  | 504 Gateway Timeout               | 网关超时。                        |
     
  
 
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-as/as_07_0102.html)。
