Fn::Transform - AWS CloudFormation

Fn::Transform

Die intrinsische Funktion Fn::Transform spezifiziert ein Makro, um eine benutzerdefinierte Verarbeitung auf einem Teil einer Stack-Vorlage durchzuführen. Verwenden Sie Makros, um benutzerdefinierte Verarbeitungen von Vorlagen durchzuführen – von einfachen Aktionen wie Suchen und Ersetzen bis hin zu umfangreichen Transformationen ganzer Vorlagen. Weitere Informationen finden Sie unter Verwenden von AWS CloudFormation-Makros zum Durchführen der benutzerdefinierten Verarbeitung von Vorlagen.

Sie können mit Fn::Transform auch die Transformation AWS::Include-Transformation aufrufen, bei der es sich um ein Makro handelt, das von AWS CloudFormation gehostet wird.

Deklaration

JSON

Syntax für den vollständigen Funktionsnamen:

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

Syntax für die Kurzform:

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

YAML

Syntax für den vollständigen Funktionsnamen:

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

Syntax für die Kurzform:

Transform: Name: macro name Parameters: Key: value

Parameter

Name

Der Name des Makros, das Sie für die Verarbeitung verwenden möchten.

Parameter

Die Listenparameter, die als Schlüssel-Wert-Paare angegeben sind, werden an das Makro übergeben.

Rückgabewert

Der bearbeitete Vorlagenausschnitt, der in die bearbeitete Stack-Vorlage aufgenommen werden soll.

Beispiele

Das folgende Beispiel ruft die AWS::Include-Transformation auf und gibt an, dass im Parameter InputValue der Ort übergeben wird, an dem ein Vorlagenausschnitt abgerufen werden soll.

JSON

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

YAML

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

Das folgende Beispiel ruft die Transformation AWS::Include auf und gibt an, dass sich der Ort, an dem ein Vorlagenausschnitt abgerufen werden soll, in der RegionMap-Zuordnung unter dem Schlüssel us-east-1 und dem verschachtelten Schlüssel s3Location befindet.

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]}}

Unterstützte Funktionen

Keine. CloudFormation übergibt alle in Fn::Transform enthaltenen intrinsischen Funktionsaufrufe an das angegebene Makro als Literalzeichenfolgen. Weitere Informationen finden Sie unter AWS CloudFormation-Makro-Funktionsschnittstelle.