CloudFormation テンプレートの Transform セクション
Transform
セクション (オプション) では、CloudFormation が何らかの方法でテンプレートを処理するために使用するマクロを 1 つ以上指定します。
マクロを使うと、テキストの検索や置換といった簡単なタスクを実行できるほか、テンプレート全体に対して広範に変換を行うことができます。CloudFormation は、指定された順にマクロを実行します。変更セットを作成すると、CloudFormation は処理したテンプレートコンテンツを変更セットに含めます。その後、変更内容を確認して変更セットを実行できます。マクロの仕組みの詳細については、「テンプレートマクロを使用して CloudFormation テンプレートでカスタム処理を実行する」を参照してください。
CloudFormation は、トランスフォームもサポートしています。トランスフォームとは、CloudFormation がホストするマクロのことです。トランスフォームの実行順序とスコープは、自分で作成したマクロと同じように処理されます。詳細については、「変換のリファレンス」を参照してください。
複数のマクロを宣言するには、リスト形式を使用して 1 つ以上のマクロを指定します。
例えば、以下のテンプレートサンプルでは、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:
amzn-s3-demo-bucket
Tags:[{"key":"value"}]
CorsConfiguration:[]
MyEc2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId:ami-1234567890abcdef0
# End of processable content for MyMacro and AWS::Serverless