转换 - AWS CloudFormation

转换

可选的 Transform 部分指定 AWS CloudFormation 用于处理您的模板的一个或多个宏。Transform 部分基于 AWS CloudFormation 的简单的声明性语言构建,并带有一个强大的宏系统。

您可以在模板中声明一个或多个宏。AWS CloudFormation 按照指定的顺序执行宏。当您创建更改集时,AWS CloudFormation 会生成一个包含已处理模板内容的更改集。然后,您可以查看更改并执行更改集。有关更多信息,请参阅使用 AWS CloudFormation 宏对模板执行自定义处理

AWS CloudFormation 还支持转换,这些转换是由 AWS CloudFormation 托管的宏。AWS CloudFormation 在执行顺序和范围方面将这些转换视为与您创建的任何宏相同。有关特定转换的详细信息,请参阅 转换参考

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

例如,在下面的模板示例中,AWS CloudFormation 先后评估 MyMacroAWS::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