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

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

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

テンプレート開発者は、AWS CloudFormation リソース、AWS::CloudFormation::CustomResource を使用して、テンプレート内のカスタムリソースを指定します。

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

ServiceToken

サービスにアクセスするためにカスタムリソースプロバイダーから入手するサービストークン (Amazon SNS トピックまたは AWS Lambda 関数の Amazon リソースネーム)。このサービストークンは、スタックを作成するリージョンと同じリージョンにある必要があります。

必須: はい

タイプ: 文字列

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

カスタムリソースプロバイダーのリクエストフィールド

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

RequestType

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

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

必須: はい

タイプ: 文字列

ResponseURL

応答 URL は、カスタムリソースプロバイダーから AWS CloudFormation への応答を受信する署名済み S3 バケットを識別します。

必須: はい

タイプ: 文字列

StackId

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

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

必須: はい

タイプ: 文字列

RequestId

リクエストの一意の ID。

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

必須: はい

タイプ: 文字列

ResourceType

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

必須: はい

タイプ: 文字列

LogicalResourceId

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

必須: はい

タイプ: 文字列

PhysicalResourceId

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

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

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

タイプ: 文字列

ResourceProperties

このフィールドにはテンプレート開発者によって送信された Properties オブジェクトの内容が含まれます。その内容は、カスタムリソースプロバイダーによって定義されます。

必須: いいえ

タイプ: JSON オブジェクト

OldResourceProperties

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

必須: はい

タイプ: JSON オブジェクト