カスタムリソースリクエストオブジェクト - AWS CloudFormation

カスタムリソースリクエストオブジェクト

このトピックでは、CloudFormation カスタムリソースのリクエストオブジェクトのプロパティについて説明します。

カスタムリソースとその仕組みの概要については、「カスタムリソースを使用してカスタムプロビジョニングロジックを作成する」を参照してください。

テンプレート開発者のリクエストのプロパティ

テンプレートデベロッパーは、CloudFormation リソースである AWS::CloudFormation::CustomResource を使用して、テンプレート内のカスタムリソースを指定します。

AWS::CloudFormation::CustomResource では、すべてのプロパティは custom resource provider によって定義されます。必要なプロパティは、ServiceToken のみです。

ServiceTimeout

カスタムリソースオペレーションがタイムアウトするまでに経過する最大時間を秒単位で表します。

値は 1~3600 の整数にする必要があります。デフォルト値は 3600 秒 (1 時間) です。

必須: いいえ

型: 文字列

ServiceToken

Amazon SNS トピック ARN や Lambda 関数 ARN などのサービストークン。このサービストークンは、スタックと同じリージョンのものである必要があります。

必須: はい

タイプ: 文字列

リソースのプロパティの他のフィールドはすべてオプションであり、そのままリクエストの ResourceProperties フィールドの custom resource provider 宛に送信されます。そのフィールドの名前および有効なコンテンツはどちらも、プロバイダーが定義します。

custom resource provider のリクエストフィールド

このフィールドは、プロバイダーがこの目的のために設定した SNS トピックで CloudFormation から custom resource provider に JSON 形式のリクエストで送信されます。

RequestType

リクエストのタイプは、カスタムリソースが含まれるスタックに対して template developer が開始した CloudFormation のスタックオペレーション (create-stack、update-stack、または delete-stack) によって設定されます。

CreateUpdateDelete のいずれかにする必要があります。詳細については、「カスタムリソースのリクエストタイプ」を参照してください。

必須: はい

型: 文字列

ResponseURL

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

必須: はい

型: 文字列

StackId

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

StackIdRequestId を組み合わせると、特定のカスタムリソースに対するリクエストを一意に識別するために使用できる値が形成されます。

必須: はい

型: 文字列

RequestId

リクエストの一意の ID。

StackIdRequestId を組み合わせると、特定のカスタムリソースに対するリクエストを一意に識別するために使用できる値が形成されます。

必須: はい

型: 文字列

ResourceType

CloudFormation テンプレート内のカスタムリソースに対し、テンプレートのデベロッパーが選択したリソースタイプ。カスタムリソースタイプの名前は、60 文字までの長さで指定できます。また、英数字や記号 _@- を含めることができます。

必須: はい

型: 文字列

LogicalResourceId

AWS CloudFormation テンプレートで開発者が選択したカスタムリソースの名前 (論理 ID)。これは、カスタムリソースプロバイダーとテンプレート開発者のコミュニケーションを円滑にするために提供されます。

必須: はい

型: 文字列

PhysicalResourceId

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

PhysicalResourceId に返された値は、カスタムリソース更新オペレーションを変更できます。返される値が同じであれば、通常の更新と見なされます。返された値が異なる場合には、AWS CloudFormation は新しい方が更新用のものであると認識し、古いリソースに削除リクエストを送信します。詳細については、「AWS::CloudFormation::CustomResource」を参照してください。

必須: 常に Update および Delete のリクエストで送信されます。Create で送信されることはありません。

型: 文字列

ResourceProperties

このフィールドにはテンプレート開発者によって送信された Properties オブジェクトの内容が含まれます。その内容は、custom resource provider によって定義されます。

必須: いいえ

タイプ: JSON オブジェクト

OldResourceProperties

Update リクエストにのみ使用されます。更新要求の前に宣言されたリソースプロパティが含まれます。

必須: はい

タイプ: JSON オブジェクト