これは新しい CloudFormation テンプレートリファレンスガイドです。ブックマークとリンクを更新してください。CloudFormation の開始方法については、『AWS CloudFormation ユーザーガイド』を参照してください。
Fn::FindInMap enhancements
AWS::LanguageExtensions 変換は、CloudFormation テンプレートの Fn::FindInMap 組み込み関数の機能を強化します。
標準の Fn::FindInMap 関数は、ネストされた組み込み関数として Fn::FindInMap および Ref のみをサポートします。AWS::LanguageExtensions 変換はこの制限を削除し、より広範な組み込み関数を使用して Fn::FindInMap のパラメータを定義できます。
注記
Fn::FindInMap の DefaultValue パラメータで 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 変換では、変換中に有効な値に変換する限り、パラメータ MapName、TopLevelKey、SecondLevelKey、および DefaultValue は組み込み関数にすることができます。
例
次の例では、AWS::LanguageExtensions 変換を追加するときに Fn::FindInMap のパラメータで組み込み関数を使用する方法を示しています。
最上位のキーを定義するための組み込み関数の使用
以下は、最上位のキーを定義するために、Fn::Select と Fn::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 のパラメータで次の関数を使用できます:
-
Fn::Split– デフォルト値として使用しない限り、Fn::Splitは、Fn::JoinまたはFn::Selectなどの文字列を生成する組み込み関数と組み合わせて使用する必要があります。
関連リソース
DefaultValue パラメータを含む Fn::FindInMap 組み込み関数を使用する方法を示す詳細と例については、「Fn::FindInMap」を参照してください。
AWS::LanguageExtensions 変換の詳細については、「AWS::LanguageExtensions 変換」を参照してください。