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