Fn::Transform
内部函数 Fn::Transform
指定一个宏以对堆栈模板的一部分执行自定义处理。通过使用宏,您可以对模板执行自定义处理,包括查找并替换操作等简单操作以及整个模板的大型转换。有关更多信息,请参阅 使用 AWS CloudFormation 宏对模板执行自定义处理。
您也可以使用 Fn::Transform
调用 AWS::Include 转换
转换,这是 AWS CloudFormation 托管的宏。
声明
JSON
{ "Fn::Transform" : { "Name" :
macro name
, "Parameters" : {key
:value
, ... } } }
YAML
完整函数名称的语法:
Fn::Transform: Name : macro name Parameters : Key : value
短格式的语法:
!Transform { "Name" :
macro name
, "Parameters" : {key
:value
, ... } }
参数
- Name
-
要执行处理的宏的名称。
- Parameters
-
要传递给宏的列表参数,指定为键值对。
返回值
要包含在处理的堆栈模板中的已处理模板代码段。
示例
以下示例调用 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
'Fn::Transform': Name: 'AWS::Include' Parameters: {Location: {'Fn::FindInMap': [RegionMap, us-east-1, s3Location]}}
支持的函数
无。AWS CloudFormation 将 Fn::Transform
中包含的任何内部函数调用作为文本字符串传递到指定的宏。有关更多信息,请参阅 AWS CloudFormation 宏函数接口。