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