翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CloudFormation フックターゲットフィルター
このトピックでは、 AWS CloudFormation フックのターゲットフィルターの設定に関するガイダンスを提供します。ターゲットフィルターを使用して、フックが呼び出されるタイミングとリソースをより詳細に制御できます。シンプルなリソースタイプのターゲティングから、リソースタイプ、アクション、呼び出しポイントのより複雑な組み合わせまで、フィルターを設定できます。
フック設定で 1 つ以上のスタック名をフィルターとして指定するには、 の下にTargetFiltersキーを追加しますHookConfiguration。
TargetFilters では、次のプロパティがサポートされています。
Actions-
ターゲットにするアクションを指定する文字列配列。例については、例 1: 基本的なターゲットフィルターを参照してください。
有効な値:
CREATE|UPDATE|DELETE注記
RESOURCE、STACK、およびCLOUD_CONTROLターゲットの場合、すべてのターゲットアクションが適用されます。CHANGE_SETターゲットの場合、CREATEアクションのみが適用されます。詳細については、「フックターゲット」を参照してください。 InvocationPoints-
ターゲットとする呼び出しポイントを指定する文字列配列。
有効な値:
PRE_PROVISION TargetNames-
ターゲットとするリソースタイプ名を指定する文字列配列。例:
AWS::S3::Bucket。ターゲット名は、具体的なターゲット名と完全なワイルドカードマッチングをサポートします。詳細については、「フックターゲット名でのワイルドカードの使用」を参照してください。
パターン:
^[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}$最大:
50 Targets-
ターゲットフィルタリングに使用するターゲットのリストを指定するオブジェクト配列。
ターゲット配列の各ターゲットには、次のプロパティがあります。
Actions-
指定されたターゲットのアクション。
有効な値:
CREATE|UPDATE|DELETE InvocationPoints-
指定されたターゲットの呼び出しポイント。
有効な値:
PRE_PROVISION TargetNames-
ターゲットにするリソースタイプ名。
注記
Targets オブジェクト配列と TargetNames、、Actionsまたは InvocationPoints配列の両方を同時に含めることはできません。これらの 3 つの項目と を使用する場合はTargets、それらをTargetsオブジェクト配列に含める必要があります。例については、例 2: Targets オブジェクト配列の使用を参照してください。
ターゲットフィルターの例
このセクションでは、 AWS CloudFormation フックのターゲットフィルターを作成するための例を示します。
例 1: 基本的なターゲットフィルター
特定のリソースタイプに焦点を当てた基本的なターゲットフィルターを作成するには、 Actions配列で TargetFilters オブジェクトを使用します。次のターゲットフィルター設定はCreate、指定されたターゲットオペレーション (この場合は および STACKオペレーションの両方) のすべての Update、、RESOURCEおよび Deleteアクションでフックを呼び出します。
{ "CloudFormationConfiguration": { "HookConfiguration": { "HookInvocationStatus":"ENABLED", "TargetOperations": ["STACK", "RESOURCE"], "FailureMode":"WARN", "Properties":{}, "TargetFilters": { "Actions": ["Create", "Update", "Delete"] } } } }
例 2: Targets オブジェクト配列の使用
より高度なフィルターについては、 Targets オブジェクト配列を使用して、特定のターゲット、アクション、呼び出しポイントの組み合わせを一覧表示できます。次のターゲットフィルター設定は、S3 バケットCREATEと DynamoDB テーブルの および UPDATEアクションの前にフックを呼び出します。これは、 オペレーションSTACKと RESOURCEオペレーションの両方に適用されます。
{ "CloudFormationConfiguration": { "HookConfiguration": { "HookInvocationStatus":"ENABLED", "TargetOperations": ["STACK", "RESOURCE"], "FailureMode":"WARN", "Properties":{}, "TargetFilters": { "Targets": [ { "TargetName": "AWS::S3::Bucket", "Action": "CREATE", "InvocationPoint": "PRE_PROVISION" }, { "TargetName": "AWS::S3::Bucket", "Action": "UPDATE", "InvocationPoint": "PRE_PROVISION" }, { "TargetName": "AWS::DynamoDB::Table", "Action": "CREATE", "InvocationPoint": "PRE_PROVISION" }, { "TargetName": "AWS::DynamoDB::Table", "Action": "UPDATE", "InvocationPoint": "PRE_PROVISION" } ] } } } }