削除
カスタムリソースを含むスタックを template developer が削除するときに、RequestType
が "Delete"
に設定されているカスタムリソースプロバイダーリクエストが送信されます。カスタムリソースを持つスタックを正常に削除するには、削除リクエストに対して custom resource
provider が適切に応答する必要があります。
リクエスト
削除リクエストには、以下のフィールドが含まれています。
- RequestType
-
"Delete" になります。
- RequestId
-
リクエストの一意の ID。
- ResponseURL
-
応答 URL は、custom resource providerから AWS CloudFormation への応答を受信した署名済み S3 バケットを識別します。
- ResourceType
-
AWS CloudFormation テンプレート内のカスタムリソースに対し、テンプレートの開発者が選択したリソースタイプ。カスタムリソースタイプの名前は、60 文字までの長さで指定できます。また、英数字や記号
_@-
を含めることができます。 - LogicalResourceId
-
AWS CloudFormation テンプレートで、template developer によって選択されたカスタムリソースの名前 (論理 ID)。
- StackId
-
カスタムリソースを含むスタックを識別する Amazon Resource Name (ARN)。
- PhysicalResourceId
-
custom resource providerによって定義された、プロバイダーで一意となる物理 ID (必須)。
- ResourceProperties
-
このフィールドには、template developer が送信した
Properties
オブジェクトのコンテンツが含まれます。このコンテンツはcustom resource providerによって定義されます。
例
{ "RequestType" : "Delete", "RequestId" : "unique id for this delete request", "ResponseURL" : "pre-signed-url-for-delete-response", "ResourceType" : "Custom::MyCustomResourceType", "LogicalResourceId" : "name of resource in template", "StackId" : "arn:aws:cloudformation:
us-east-2
:namespace:stack/stack-name/guid", "PhysicalResourceId" : "custom resource provider-defined physical id", "ResourceProperties" : { "key1" : "string", "key2" : [ "list" ], "key3" : { "key4" : "map" } } }
レスポンス
成功
削除リクエストが成功したときは、次のフィールドを含んだレスポンスを S3 バケットに送信する必要があります。
- ステータス
-
"SUCCESS" である必要があります。
- RequestId
-
リクエストの一意の ID。 このレスポンス値は、リクエストからそのままコピーする必要があります。
- LogicalResourceId
-
AWS CloudFormation テンプレートで、template developer によって選択されたカスタムリソースの名前 (論理 ID)。 このレスポンス値は、リクエストからそのままコピーする必要があります。
- StackId
-
カスタムリソースを含むスタックを識別する Amazon Resource Name (ARN)。 このレスポンス値は、リクエストからそのままコピーする必要があります。
- PhysicalResourceId
-
この値は、カスタムリソースベンダーに一意な識別子である必要があり、サイズは最大 1 KB まで可能です。値は空以外の文字列で、同じリソースのすべての応答で同一である必要があります。
例
{ "Status" : "SUCCESS", "RequestId" : "unique id for this delete request (copied from request)", "LogicalResourceId" : "name of resource in template (copied from request)", "StackId" : "arn:aws:cloudformation:
us-east-2
:namespace:stack/stack-name/guid (copied from request)", "PhysicalResourceId" : "custom resource provider-defined physical id" }
Failed
削除リクエストが失敗したときは、次のフィールドを含んだレスポンスを S3 バケットに送信する必要があります。
例
{ "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" : "arn:aws:cloudformation:
us-east-2
:namespace:stack/stack-name/guid (copied from request)", "PhysicalResourceId" : "custom resource provider-defined physical id" }