AWS CloudFormation
ユーザーガイド (API バージョン 2010-05-15)

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

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

template developer は、AWS CloudFormation リソース AWS::CloudFormation::CustomResource を使用して、テンプレートでカスタムリソースを指定します。

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

ServiceToken

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

Required: Yes

Type: String

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

Custom Resource Provider のリクエストフィールド

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

RequestType

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

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

Required: Yes

Type: String

ResponseURL

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

Required: Yes

Type: String

StackId

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

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

Required: Yes

Type: String

RequestId

リクエストの一意の ID。

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

Required: Yes

Type: String

ResourceType

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

Required: Yes

Type: String

LogicalResourceId

AWS CloudFormation テンプレートで、template developerによって選択されたカスタムリソースの名前 (論理 ID)。 これは、custom resource provider と template developer のコミュニケーションを円滑にするために提供されます。

Required: Yes

Type: String

PhysicalResourceId

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

Required: Update リクエストおよび Delete リクエストでは、常に送信されます。Create の場合には送信されません。

Type: String

ResourceProperties

このフィールドには、template developerが送信した Properties オブジェクトのコンテンツが含まれます。このコンテンツはcustom resource providerによって定義されます。

Required: No

Type: JSON object

OldResourceProperties

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

Required: Yes

Type: JSON object