View a markdown version of this page

Fn::FindInMap enhancements - AWS CloudFormation

これは新しい CloudFormation テンプレートリファレンスガイドです。ブックマークとリンクを更新してください。CloudFormation の開始方法については、『AWS CloudFormation ユーザーガイド』を参照してください。

Fn::FindInMap enhancements

AWS::LanguageExtensions 変換は、CloudFormation テンプレートの Fn::FindInMap 組み込み関数の機能を強化します。

標準の Fn::FindInMap 関数は、ネストされた組み込み関数として Fn::FindInMap および Ref のみをサポートします。AWS::LanguageExtensions 変換はこの制限を削除し、より広範な組み込み関数を使用して Fn::FindInMap のパラメータを定義できます。

注記

Fn::FindInMapDefaultValue パラメータで AWS::LanguageExtensions 変換が不要になりました。DefaultValue は、任意の CloudFormation テンプレートで使用できます。詳細については、「Fn::FindInMap」を参照してください。

宣言

JSON

{ "Fn::FindInMap" : [ "MapName", "TopLevelKey", "SecondLevelKey"] }

マッピングでキーが見つからない場合に、フォールバック値を指定する場合は、DefaultValue を含めます。

{ "Fn::FindInMap" : [ "MapName", "TopLevelKey", "SecondLevelKey", {"DefaultValue": "DefaultValue"}] }

YAML

完全関数名の構文:

Fn::FindInMap: [ MapName, TopLevelKey, SecondLevelKey ]

短縮形の構文:

!FindInMap [ MapName, TopLevelKey, SecondLevelKey ]

マッピングでキーが見つからない場合に、フォールバック値を指定する場合は、DefaultValue を含めます。

完全関数名の構文:

Fn::FindInMap: - MapName - TopLevelKey - SecondLevelKey - DefaultValue: DefaultValue

短縮形の構文:

!FindInMap - MapName - TopLevelKey - SecondLevelKey - DefaultValue: DefaultValue

パラメータ

AWS::LanguageExtensions 変換では、変換中に有効な値に変換する限り、パラメータ MapNameTopLevelKeySecondLevelKey、および DefaultValue は組み込み関数にすることができます。

次の例では、AWS::LanguageExtensions 変換を追加するときに Fn::FindInMap のパラメータで組み込み関数を使用する方法を示しています。

最上位のキーを定義するための組み込み関数の使用

以下は、最上位のキーを定義するために、Fn::SelectFn::Split 組み込み関数が内部に組み込まれている Fn::FindInMap 関数を使用する例です。

JSON

{ //... "Transform": "AWS::LanguageExtensions", //... "Fn::FindInMap": [ "MyMap", { "Fn::Select": [ 0, { "Fn::Split": [ "|", { "Ref": "InputKeys" } ] } ] }, "SecondKey" ] //... }

YAML

Transform: 'AWS::LanguageExtensions' #... !FindInMap: [MyMap, !Select [0, !Split [|, !Ref InputKeys]], SecondKey] #...

サポートされている関数

AWS::LanguageExtensions 変換では、Fn::FindInMap のパラメータで次の関数を使用できます:

関連リソース

DefaultValue パラメータを含む Fn::FindInMap 組み込み関数を使用する方法を示す詳細と例については、「Fn::FindInMap」を参照してください。

AWS::LanguageExtensions 変換の詳細については、「AWS::LanguageExtensions 変換」を参照してください。