Fn::Transform - Amazon CloudFormation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Fn::Transform

内部函数 Fn::Transform 指定一个宏以对堆栈模板的一部分执行自定义处理。通过使用宏,您可以对模板执行自定义处理,包括查找并替换操作等简单操作以及整个模板的大型转换。有关更多信息,请参阅使用 Amazon CloudFormation 宏对模板执行自定义处理

您也可以使用 Fn::Transform 调用 AWS::Include 转换 转换,这是 Amazon CloudFormation 托管的宏。

声明

JSON

完整函数名称的语法:

{ "Fn::Transform": { "Name": "macro name", "Parameters": { "Key": "value" } } }

短格式的语法:

{ "Transform": { "Name": "macro name", "Parameters": { "Key": "value" } } }

YAML

完整函数名称的语法:

Fn::Transform: Name : macro name Parameters : Key : value

短格式的语法:

!Transform Name: macro name Parameters: Key: value

参数

名称

要执行处理的宏的名称。

参数

要传递给宏的列表参数,指定为键值对。

返回值

要包含在处理的堆栈模板中的已处理模板代码段。

示例

以下示例调用 AWS::Include 转换,并指定从中检索模板代码段的位置是在 InputValue 参数中传递的。

JSON

{ "Fn::Transform": { "Name": "AWS::Include", "Parameters": { "Location": { "Ref": "InputValue" } } } }

YAML

'Fn::Transform': Name: 'AWS::Include' Parameters: Location: !Ref InputValue

以下示例调用 AWS::Include 转换,并指定从中检索模板代码段的位置位于 RegionMap 映射中的 us-east-1 键和嵌套键 s3Location 下面。

JSON

{ "Fn::Transform": { "Name": "AWS::Include", "Parameters": { "Location": { "Fn::FindInMap": [ "RegionMap", "us-east-1", "s3Location" ] } } } }

YAML

!Transform Name: AWS::Include Parameters: Location: !FindInMap - RegionMap - us-east-1 - s3Location

支持的函数

无。

CloudFormation 将 Fn::Transform 中包含的任何内部函数调用作为文本字符串传递到指定的宏。有关更多信息,请参阅Amazon CloudFormation 宏函数接口