创建生命周期挂钩
功能介绍
创建生命周期挂钩,可为伸缩组添加一个或多个生命周期挂钩,最多添加5个。
- 添加生命周期挂钩后,当伸缩组进行伸缩活动时,实例将被生命周期挂钩挂起并置于等待状态(正在加入伸缩组或正在移出伸缩组),实例将保持此状态直至超时时间结束或者用户手动回调。
- 用户能够在实例保持等待状态的时间段内执行自定义操作,例如,用户可以在新启动的实例上安装或配置软件,也可以在实例终止前从实例中下载日志文件。
URI
POST /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID |
scaling_group_id |
是 |
String |
伸缩组ID |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
lifecycle_hook_name |
是 |
String |
生命周期挂钩名称(1-32个字符),只能包含字母、数字、下划线或中划线。 |
lifecycle_hook_type |
是 |
String |
生命周期挂钩类型。取值如下:
|
default_result |
否 |
String |
生命周期挂钩默认回调操作。默认情况下,到达超时时间后执行的操作。
说明:
|
default_timeout |
否 |
Integer |
生命周期挂钩超时时间,取值范围60-86400,默认为3600,单位是秒。 默认情况下,实例保持等待状态的时间。您可以延长超时时间,也可以在超时时间结束前进行 CONTINUE 或 ABANDON 操作。 |
notification_topic_urn |
是 |
String |
SMN 服务中 Topic 的唯一的资源标识。 为生命周期挂钩定义一个通知目标,当实例被生命周期挂钩挂起时向该通知目标发送消息。该消息包含实例的基本信息、用户自定义通知消息,以及可用于控制生命周期操作的令牌信息。 |
notification_metadata |
否 |
String |
自定义通知消息,长度不超过256位,不能包含字符< > & ' ( )。 当配置了通知目标时,可向其发送用户自定义的通知内容。 |
请求示例
创建一个名称为test-hook1的生命周期挂钩,伸缩组ID为e5d27f5c-dd76-4a61-b4bc-a67c5686719a,回调操作为ABANDON,超时时间为3600秒,消息通知topic_urn为urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh,挂钩类型为在实例启动时挂起实例。
POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/e5d27f5c-dd76-4a61-b4bc-a67c5686719a { "lifecycle_hook_name": "test-hook1", "default_result": "ABANDON", "default_timeout": 3600, "notification_topic_urn": "urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh", "lifecycle_hook_type": "INSTANCE_LAUNCHING" }
响应参数
参数 |
参数类型 |
描述 |
---|---|---|
lifecycle_hook_name |
String |
生命周期挂钩名称 |
lifecycle_hook_type |
String |
生命周期挂钩类型。
|
default_result |
String |
生命周期挂钩默认回调操作。
|
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": "ABANDON", "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": "2019-03-18T16:00:11Z" }
返回值
- 正常
- 异常
返回值
说明
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
网关超时。
错误码
请参考错误码。