CloudFormation 模板的 Transform 部分 - AWS CloudFormation

CloudFormation 模板的 Transform 部分

可选的 Transform 部分指定 CloudFormation 用来以某种方式处理模板的一个或多个宏。

宏可以执行查找和替换文本等简单任务,也可以对整个模板进行更广泛的转换。CloudFormation 按照指定的顺序执行宏。当您创建更改集时,CloudFormation 会生成一个包含已处理模板内容的更改集。然后,您可以查看更改并执行更改集。有关宏工作原理的更多信息,请参阅使用模板宏对 CloudFormation 模板执行自定义处理

CloudFormation 还支持转换,后者是由 CloudFormation 托管的宏。在执行顺序和范围方面,CloudFormation 以相同的方法处理转换以及您创建的任何宏。有关更多信息,请参阅 转换参考

要声明多个宏,请使用列表格式并指定一个或多个宏。

例如,在下面的模板示例中,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