カスタムリソースリクエストオブジェクト
テンプレート開発者のリクエストのプロパティ
テンプレート開発者は、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) によって設定されます。
Create
、Update
、Delete
のいずれかにする必要があります。詳細については、「カスタムリソースのリクエストタイプ」を参照してください。必須: はい
タイプ: 文字列
- ResponseURL
-
応答 URL は、カスタムリソースプロバイダーから AWS CloudFormation への応答を受信する署名済み S3 バケットを識別します。
必須: はい
タイプ: 文字列
- StackId
-
カスタムリソースを含むスタックを識別する Amazon リソースネーム (ARN)。
StackId
とRequestId
を組み合わせると、特定のカスタムリソースに対するリクエストを一意に識別するために使用できる値が形成されます。必須: はい
タイプ: 文字列
- RequestId
-
リクエストの一意の ID。
StackId
とRequestId
を組み合わせると、特定のカスタムリソースに対するリクエストを一意に識別するために使用できる値が形成されます。必須: はい
タイプ: 文字列
- 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 オブジェクト