Fn::Transform - AWS CloudFormation

Fn::Transform

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 Using AWS CloudFormation macros to perform custom processing on templates.

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

The following example calls the AWS::Include transform, specifying that the location to retrieve a template snippet from is located in the RegionMap mapping, under the key us-east-1 and nested key 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

Supported functions

None.

CloudFormation passes any intrinsic function calls included in Fn::Transform to the specified macro as literal strings. For more information, see AWS CloudFormation macro function interface.