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

更新

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

リクエスト

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

RequestType

"Update" になります。

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

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

OldResourceProperties

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

{ "RequestType" : "Update", "RequestId" : "unique id for this update request", "ResponseURL" : "pre-signed-url-for-update-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" : "new-string", "key2" : [ "new-list" ], "key3" : { "key4" : "new-map" } }, "OldResourceProperties" : { "key1" : "string", "key2" : [ "list" ], "key3" : { "key4" : "map" } } }

レスポンス

成功

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

ステータス

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

RequestId

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

LogicalResourceId

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

StackId

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

PhysicalResourceId

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

NoEcho

オプション。Fn::GetAtt 関数を使用してカスタムリソースの出力を取得したときに、それをマスクするかどうかを示します。true に設定した場合、返されるすべての値はアスタリスク (*****) でマスクされます。デフォルト値は false です。

データ

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

重要

名前と値のペアに重要な情報が含まれる場合、NoEcho フィールドを使用してカスタムリソースの出力をマスクします。それ以外の場合、値はプロパティ値 (DescribeStackEvents など) を示す API を通じて表示されます。

{ "Status" : "SUCCESS", "RequestId" : "unique id for this update 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", "Data" : { "keyThatCanBeUsedInGetAtt1" : "data for key 1", "keyThatCanBeUsedInGetAtt2" : "data for key 2" } }

失敗

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

ステータス

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

理由

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

RequestId

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

LogicalResourceId

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

StackId

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

PhysicalResourceId

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

{ "Status" : "FAILED", "Reason" : "Required failure reason string", "RequestId" : "unique id for this update 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" }

このページの内容: