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 nameParameters :Key:value
短格式的语法:
Transform: Name:macro nameParameters: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 宏函数接口。