AWS CloudFormation
ユーザーガイド (API バージョン 2010-05-15)

Fn::Transform

組み込み関数 Fn::Transform は、スタックテンプレートの一部に対してカスタム処理を実行するためのマクロを指定します。マクロを使用すると、検索して置換操作のような単純なアクションからテンプレート全体の広範な変換まで、テンプレートに対してカスタム処理を実行できるようになります。詳細については、「AWS CloudFormation マクロを使用したテンプレートのカスタム処理の実行」を参照してください。

Fn::Transform を使用して AWS::Include Transform トランスフォームを呼び出すこともできます。これは 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, ... } }

パラメータ

名前

処理を実行するマクロの名前。

パラメータ

マクロに渡すキーと値のペアとして指定されたリストパラメータ。

戻り値

処理済みスタックテンプレートに含める処理済みテンプレートスニペット。

次の例では、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 マクロ機能インターフェイス」を参照してください。