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