テンプレート開発者がカスタムリソースを含むスタックを削除すると、Resource Orchestration Service (ROS) はカスタムリソースプロバイダーにリクエストを送信します。リクエストの RequestType フィールドは Delete に設定されます。スタックを削除するには、カスタムリソースプロバイダーは Delete リクエストに成功応答を送信する必要があります。
リクエスト
削除リクエストには、次のフィールドが含まれています。
RequestType
このフィールドは Delete に設定されます。
ResponseURL
署名付きパブリック URL。この URL は、カスタムリソースプロバイダーから ROS への応答を受信します。
IntranetResponseURL
署名付き内部 URL。この URL は Elastic Compute Service (ECS) で使用できます。この URL は、カスタムリソースプロバイダーから ROS への応答を受信します。
StackId
カスタムリソースを含むスタックの ID。
StackName
カスタムリソースを含むスタックの名前。
ResourceOwnerId
カスタムリソースを含むスタックが属する Alibaba Cloud アカウントの ID。
CallerId
この操作の実行に使用される Alibaba Cloud アカウントまたは Resource Access Management (RAM) ユーザーの ID。
RegionId
カスタムリソースを含むスタックのリージョン ID。
RequestId
リクエストの一意の ID。
ResourceType
テンプレートでカスタムリソースに対してテンプレート開発者が選択したリソースタイプ。カスタムリソースタイプの名前は最大 68 文字で、文字、数字、アンダースコア (_)、アットマーク (@)、およびハイフン (-) を含めることができます。
LogicalResourceId
テンプレートでカスタムリソースに対してテンプレート開発者が選択した名前 (論理 ID)。
PhysicalResourceId
カスタムリソースプロバイダーによって定義された必須の物理 ID。この ID はプロバイダーに対して一意です。
ResourceProperties
このフィールドには、テンプレート開発者によって送信されたリクエストの Properties セクションのパラメーターが含まれています。コンテンツはカスタムリソースプロバイダーによって定義されます。
例:
{
"RequestType" : "Delete",
"RequestId" : "unique id for this delete request", // この削除リクエストの一意のID
"ResponseURL" : "pre-signed-url-for-delete-response", // 削除応答用の署名付きURL
"IntranetResponseURL" : "pre-signed-intranet-url-for-create-response", // 作成応答用の署名付きイントラネットURL
"ResourceType" : "Custom::MyCustomResourceType", // カスタムリソースタイプ
"LogicalResourceId" : "name of resource in template", // テンプレート内のリソース名
"PhysicalResourceId" : "custom resource provider-defined physical id", // カスタムリソースプロバイダー定義の物理ID
"StackId" : "stack id", // スタックID
"StackName" : "stack name", // スタック名
"ResourceOwnerId": "resource owner id", // リソース所有者ID
"CallerId": "caller id", // 呼び出し元ID
"RegionId": "region id", // リージョンID
"ResourceProperties" : {
"key1" : "string",
"key2" : [ "list" ],
"key3" : { "key4" : "map" }
}
}レスポンス
成功
Delete リクエストが送信されると、カスタムリソースプロバイダーは次のフィールドを含むレスポンスを ROS に送信する必要があります。
Status
このフィールドには SUCCESS のみ返されます。
RequestId
リクエストの一意の ID。レスポンス値はリクエストからコピーする必要があります。
LogicalResourceId
テンプレートでカスタムリソースに対してテンプレート開発者が指定した名前 (論理 ID)。このレスポンス値はリクエストからコピーする必要があります。
StackId
カスタムリソースを含むスタックの ID。このレスポンス値はリクエストからコピーする必要があります。
PhysicalResourceId
この値は、カスタムリソースプロバイダーに対して一意である必要があります。値は最大 255 バイトです。値は空の文字列にすることはできず、すべてのレスポンスで同じリソースに対して同一である必要があります。
例:
{
"Status" : "SUCCESS",
"RequestId" : "unique id for this delete request (copied from request)", // この削除リクエストの一意のID (リクエストからコピー)
"LogicalResourceId" : "name of resource in template (copied from request)", // テンプレート内のリソース名 (リクエストからコピー)
"StackId" : "stack id (copied from request)", // スタックID (リクエストからコピー)
"PhysicalResourceId" : "custom resource provider-defined physical id" // カスタムリソースプロバイダー定義の物理ID
}失敗
Delete リクエストが失敗した場合、カスタムリソースプロバイダーは次のフィールドを含むレスポンスを ROS に送信する必要があります。
Status
このフィールドには FAILED のみ返されます。
Reason
レスポンスが失敗した理由。
RequestId
リクエストの一意の ID。レスポンス値はリクエストからコピーする必要があります。
LogicalResourceId
テンプレートでカスタムリソースに対してテンプレート開発者が指定した名前 (論理 ID)。このレスポンス値はリクエストからコピーする必要があります。
StackId
カスタムリソースを含むスタックの ID。このレスポンス値はリクエストからコピーする必要があります。
例:
{
"Status" : "FAILED",
"Reason" : "Required failure reason string", // 必須の失敗理由文字列
"RequestId" : "unique id for this delete request (copied from request)", // この削除リクエストの一意のID (リクエストからコピー)
"LogicalResourceId" : "name of resource in template (copied from request)", // テンプレート内のリソース名 (リクエストからコピー)
"StackId" : "stack id (copied from request)" // スタックID (リクエストからコピー)
}