トランスフォーム - AWS CloudFormation

トランスフォーム

オプションの Transform セクションで、AWS CloudFormation がテンプレートを処理するために使用するマクロを 1 つ以上指定します。Transform セクションは、強力なマクロシステムを持つ AWS CloudFormation のシンプルな宣言型言語を基盤にして構築されています。

テンプレート内で 1 つ以上のマクロを宣言できます。マクロは、AWS CloudFormation によって、指定された順序で実行されます。変更セットを作成すると、AWS CloudFormation は処理されたテンプレートコンテンツを含む変更セットを生成します。その後、変更内容を確認して変更セットを実行できます。詳細については、「AWS CloudFormation マクロを使用したテンプレートのカスタム処理の実行」を参照してください。

AWS CloudFormation は、AWS CloudFormation がホストするマクロである transforms (変換) もサポートしています。AWS CloudFormation は、これらの変換を、実行の順序と範囲の点で、作成したすべてのマクロと同じように扱います。特定の変換の詳細については、変換のリファレンスを参照してください。

複数のマクロを宣言するには、リスト形式を使用して 1 つ以上のマクロを指定します。

たとえば、以下のテンプレートサンプルでは、​​AWS CloudFormation が MyMacro を評価し、その後 AWS::Serverless を評価します。どちらも Transform セクションに含まれているため、テンプレート全体のコンテンツを処理できます。

// Start of processable content for MyMacro and AWS::Serverless Transform: - MyMacro - 'AWS::Serverless' Resources: WaitCondition: Type: 'AWS::CloudFormation::WaitCondition' MyBucket: Type: 'AWS::S3::Bucket' Properties: BucketName: MyBucket Tags: [{"key":"value"}] CorsConfiguration:[] MyEc2Instance: Type: 'AWS::EC2::Instance' Properties: ImageID: "ami-123" // End of processable content for MyMacro and AWS::Serverless