The intrinsic function Fn::Transform
specifies a macro to perform custom
processing on part of a stack template. Macros enable you to perform custom processing on
templates, from simple actions like find-and-replace operations to extensive transformations
of entire templates. For more information, see Perform custom processing on CloudFormation templates with
template macros.
You can also use Fn::Transform
to call the AWS::Include transform transform, which is a macro hosted by AWS CloudFormation.
Declaration
JSON
Syntax for the full function name:
{
"Fn::Transform": {
"Name": "macro name
",
"Parameters": {
"Key
": "value
"
}
}
}
Syntax for the short form:
{
"Transform": {
"Name": "macro name
",
"Parameters": {
"Key
": "value
"
}
}
}
YAML
Syntax for the full function name:
Fn::Transform:
Name : macro name
Parameters :
Key
: value
Syntax for the short form:
!Transform
Name: macro name
Parameters:
Key
: value
Parameters
- Name
-
The name of the macro you want to perform the processing.
- Parameters
-
The list parameters, specified as key-value pairs, to pass to the macro.
Return value
The processed template snippet to be included in the processed stack template.
Examples
The following example calls the AWS::Include
transform, specifying that the
location to retrieve a template snippet from is passed in the InputValue
parameter.
JSON
{
"Fn::Transform": {
"Name": "AWS::Include",
"Parameters": {
"Location": {
"Ref": "InputValue"
}
}
}
}
YAML
'Fn::Transform':
Name: 'AWS::Include'
Parameters:
Location: !Ref InputValue
Supported
functions
None.
CloudFormation passes any intrinsic function calls included in Fn::Transform
to
the specified macro as literal strings.