華為云計(jì)算 云知識(shí) 創(chuàng)建生命周期掛鉤CreateLifyCycleHook
創(chuàng)建生命周期掛鉤CreateLifyCycleHook

 

功能介紹

創(chuàng)建生命周期掛鉤,可為伸縮組添加一個(gè)或多個(gè)生命周期掛鉤,最多添加5個(gè)。

  • 添加生命周期掛鉤后,當(dāng)伸縮組進(jìn)行伸縮活動(dòng)時(shí),實(shí)例將被生命周期掛鉤掛起并置于等待狀態(tài)(正在加入伸縮組或正在移出伸縮組),實(shí)例將保持此狀態(tài)直至超時(shí)時(shí)間結(jié)束或者用戶手動(dòng)回調(diào)。
  • 用戶能夠在實(shí)例保持等待狀態(tài)的時(shí)間段內(nèi)執(zhí)行自定義操作,例如,用戶可以在新啟動(dòng)的實(shí)例上安裝或配置軟件,也可以在實(shí)例終止前從實(shí)例中下載日志文件。

調(diào)試

您可以在API Explorer中調(diào)試該接口。

URI

POST /autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}

表1 參數(shù)說明

參數(shù)

是否必選

參數(shù)類型

描述

project_id

String

項(xiàng)目ID

scaling_group_id

String

伸縮組ID

請(qǐng)求參數(shù)

表2 請(qǐng)求參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

lifecycle_hook_name

String

生命周期掛鉤名稱(1-32個(gè)字符),只能包含字母、數(shù)字、下劃線或中劃線。

lifecycle_hook_type

String

生命周期掛鉤類型。取值如下:

  • INSTANCE_TERMINATING:該類型掛鉤負(fù)責(zé)在實(shí)例終止時(shí)將實(shí)例掛起。
  • INSTANCE_LAUNCHING:該類型掛鉤負(fù)責(zé)在實(shí)例啟動(dòng)時(shí)將實(shí)例掛起。

default_result

String

生命周期掛鉤默認(rèn)回調(diào)操作。默認(rèn)情況下,到達(dá)超時(shí)時(shí)間后執(zhí)行的操作。

  • ABANDON
  • CONTINUE
說明:
  • 如果實(shí)例正在啟動(dòng),則 CONTINUE 表示用戶自定義操作已成功,可將實(shí)例投入使用。否則,ABANDON 表示用戶自定義操作未成功,終止實(shí)例,伸縮活動(dòng)置為失敗,重新創(chuàng)建新實(shí)例。
  • 如果實(shí)例正在終止,則 ABANDON 和 CONTINUE 都允許終止實(shí)例。不過,ABANDON 將停止其他生命周期掛鉤,而 CONTINUE 將允許完成其他生命周期掛鉤。
  • 該字段缺省時(shí)默認(rèn)為 ABANDON。

default_timeout

Integer

生命周期掛鉤超時(shí)時(shí)間,取值范圍60-86400,默認(rèn)為3600,單位是秒。

默認(rèn)情況下,實(shí)例保持等待狀態(tài)的時(shí)間。您可以延長(zhǎng)超時(shí)時(shí)間,也可以在超時(shí)時(shí)間結(jié)束前進(jìn)行 CONTINUE 或 ABANDON 操作。

notification_topic_urn

String

SMN 服務(wù)中 Topic 的唯一的資源標(biāo)識(shí)。

為生命周期掛鉤定義一個(gè)通知目標(biāo),當(dāng)實(shí)例被生命周期掛鉤掛起時(shí)向該通知目標(biāo)發(fā)送消息。該消息包含實(shí)例的基本信息、用戶自定義通知消息,以及可用于控制生命周期操作的令牌信息。

notification_metadata

String

自定義通知消息,長(zhǎng)度不超過256位,不能包含字符< > & ' ( )。

當(dāng)配置了通知目標(biāo)時(shí),可向其發(fā)送用戶自定義的通知內(nèi)容。

請(qǐng)求示例

創(chuàng)建一個(gè)名稱為test-hook1的生命周期掛鉤,伸縮組ID為e5d27f5c-dd76-4a61-b4bc-a67c5686719a,回調(diào)操作為ABANDON,超時(shí)時(shí)間為3600秒, 消息通知 topic_urn為urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh,掛鉤類型為在實(shí)例啟動(dòng)時(shí)掛起實(shí)例。

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"
}

響應(yīng)參數(shù)

表3 響應(yīng)參數(shù)

參數(shù)

參數(shù)類型

描述

lifecycle_hook_name

String

生命周期掛鉤名稱

lifecycle_hook_type

String

生命周期掛鉤類型。

  • INSTANCE_TERMINATING
  • INSTANCE_LAUNCHING

default_result

String

生命周期掛鉤默認(rèn)回調(diào)操作。

  • ABANDON
  • CONTINUE

default_timeout

Integer

生命周期掛鉤超時(shí)時(shí)間,單位秒。

notification_topic_urn

String

SMN 服務(wù)中 Topic 的唯一的資源標(biāo)識(shí)。

notification_topic_name

String

SMN 服務(wù)中 Topic 的資源名稱。

notification_metadata

String

自定義通知消息

create_time

String

生命周期掛鉤創(chuàng)建時(shí)間,遵循UTC時(shí)間。

響應(yīng)示例

{
    "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"
}

返回值

  • 正常

    200

  • 異常

    返回值

    說明

    400 Bad Request

    服務(wù)器未能處理請(qǐng)求。

    401 Unauthorized

    被請(qǐng)求的頁面需要用戶名和密碼。

    403 Forbidden

    對(duì)被請(qǐng)求的頁面訪問禁止。

    404 Not Found

    服務(wù)器無法找到被請(qǐng)求的頁面。

    405 Method Not Allowed

    請(qǐng)求中指定的方法不被允許。

    406 Not Acceptable

    服務(wù)器生成的響應(yīng)無法被客戶端所接受。

    407 Proxy Authentication Required

    用戶必須首先使用代理服務(wù)器進(jìn)行驗(yàn)證,這樣請(qǐng)求才會(huì)被處理。

    408 Request Timeout

    請(qǐng)求超出了服務(wù)器的等待時(shí)間。

    409 Conflict

    由于沖突,請(qǐng)求無法被完成。

    500 Internal Server Error

    請(qǐng)求未完成。服務(wù)異常。

    501 Not Implemented

    請(qǐng)求未完成。服務(wù)器不支持所請(qǐng)求的功能。

    502 Bad Gateway

    請(qǐng)求未完成。服務(wù)器從上游服務(wù)器收到一個(gè)無效的響應(yīng)。

    503 Service Unavailable

    請(qǐng)求未完成。系統(tǒng)暫時(shí)異常。

    504 Gateway Timeout

    網(wǎng)關(guān)超時(shí)。

錯(cuò)誤碼

請(qǐng)參考錯(cuò)誤碼