メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

更新

テンプレート内のカスタムリソースのプロパティに変更があった場合、RequestType"Update" 設定されたカスタムリソースプロバイダのリクエストが送信されます。したがって、カスタムリソースコードは、Update の呼び出し中にそのプロパティが変更されたことをわかっているため、変更を検出する必要がありません。

リクエスト

更新リクエストには、以下のフィールドが含まれています。

RequestType

"Update" になります。

RequestId

リクエストの一意の ID。

ResponseURL

応答 URL は、custom resource providerから AWS CloudFormation への応答を受信した署名済み S3 バケットを識別します。

StackId

カスタムリソースを含むスタックを識別する Amazon Resource Name (ARN)。

ResourceType

AWS CloudFormation テンプレート内のカスタムリソースに対し、テンプレートの開発者が選択したリソースタイプ。カスタムリソースタイプの名前は、60 文字までの長さで指定できます。また、英数字や記号 _@- を含めることができます。更新時にタイプを変更することはできません。

LogicalResourceId

AWS CloudFormation テンプレートで、template developerによって選択されたカスタムリソースの名前 (論理 ID)。

PhysicalResourceId

custom resource providerによって定義された、プロバイダーで一意となる物理 ID (必須)。

ResourceProperties

更新された AWS CloudFormation テンプレート内の template developer によって宣言された、新しいリソースプロパティ値です。

OldResourceProperties

AWS CloudFormation テンプレート内の template developer によって以前に宣言されたリソースプロパティ値です。

Copy
{ "RequestType" : "Update", "RequestId" : "unique id for this update request", "ResponseURL" : "pre-signed-url-for-update-response", "StackId" : "arn:aws:cloudformation:us-east-2:namespace:stack/stack-name/guid", "ResourceType" : "Custom::MyCustomResourceType", "LogicalResourceId" : "name of resource in template", "PhysicalResourceId" : "custom resource provider-defined physical id", "ResourceProperties" : { "key1" : "new-string", "key2" : [ "new-list" ], "key3" : { "key4" : "new-map" } }, "OldResourceProperties" : { "key1" : "string", "key2" : [ "list" ], "key3" : { "key4" : "map" } } }

レスポンス

Success

custom resource provider がリソースを正常に更新できる場合、AWS CloudFormation は応答でステータスが "SUCCESS" に設定されると想定します。

ステータス

"SUCCESS" である必要があります。

StackId

カスタムリソースを含むスタックを識別する Amazon Resource Name (ARN)。 このレスポンス値は、リクエストからそのままコピーする必要があります。

RequestId

リクエストの一意の ID。 このレスポンス値は、リクエストからそのままコピーする必要があります。

LogicalResourceId

AWS CloudFormation テンプレートで、template developerによって選択されたカスタムリソースの名前 (論理 ID)。 このレスポンス値は、リクエストからそのままコピーする必要があります。

PhysicalResourceId

この値は、カスタムリソースベンダーに一意な識別子である必要があり、サイズは最大 1 KB まで可能です。値は空以外の文字列で、同じリソースのすべての応答で同一である必要があります。

データ

(オプション) 応答で送信される、custom resource providerによって定義された名前と値のペア。ここで指定する値には、Fn::GetAtt を使用して、テンプレート内の名前でアクセスできます。

Copy
{ "Status" : "SUCCESS", "StackId" : "arn:aws:cloudformation:us-east-2:namespace:stack/stack-name/guid (copied from request)", "RequestId" : "unique id for this update request (copied from request)", "LogicalResourceId" : "name of resource in template (copied from request)", "PhysicalResourceId" : "custom resource provider-defined physical id", "Data" : { "keyThatCanBeUsedInGetAtt1" : "data for key 1", "keyThatCanBeUsedInGetAtt2" : "data for key 2" } }

Failed

プロパティの新しいセットでリソースを更新できない場合、AWS CloudFormation は応答で失敗の理由とともにステータスが "FAILED" に設定されると想定します。

ステータス

"FAILED" である必要があります。

理由

失敗応答の理由を説明します。

LogicalResourceId

AWS CloudFormation テンプレートで、template developerによって選択されたカスタムリソースの名前 (論理 ID)。 このレスポンス値は、リクエストからそのままコピーする必要があります。

RequestId

リクエストの一意の ID。 このレスポンス値は、リクエストからそのままコピーする必要があります。

StackId

カスタムリソースを含むスタックを識別する Amazon Resource Name (ARN)。 このレスポンス値は、リクエストからそのままコピーする必要があります。

PhysicalResourceId

この値は、カスタムリソースベンダーに一意な識別子である必要があり、サイズは最大 1 KB まで可能です。値は空以外の文字列で、同じリソースのすべての応答で同一である必要があります。

Copy
{ "Status" : "FAILED", "Reason" : "Required failure reason string", "LogicalResourceId" : "name of resource in template (copied from request)", "RequestId" : "unique id for this update request (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" }

このページの内容: