CloudFormation 組み込み関数
組み込み関数
Ref
Parameters セクションで定義した値、あるいは擬似パラメータを参照する。
この関数だけ Fn::* の形をとっていない。
Fn::GetAtt
Resources セクションで定義した諸々から任意の値を参照する。
例えば EC2 リソースのインスタンスIDを参照するとか。
Fn::Sub
文字列テンプレート展開をやるやつ。
ex) { "Fn::Sub": [ "www.${Domain}", { "Domain": {"Ref" : "RootDomainName" }} ]}
Fn::ImportValue
他テンプレートによる Outputs の値を参照する
Fn::FindInMap
Mappingsセクションで作った2レベルのマッピングのキーに対応する値を返す
FindInMap[ MapName, TopLevelKey, SecondLevelKey ]
Fn::And, Fn::Or, Fn::Not, Fn::Equals
主に Conditions セクションで活躍しがちなやつ
Fn::If
Resources, Outputs セクションだけでしか使えないらしい
組み込み関数の使い方
JSON
{ "Ref": "RefName" }
{ "Fn::Join": [ ",", ["a", "b", "c"] ] }
YAML
Ref: RefName
Fn::Join: [ ",": [ "a", "b", "c"] ]
YAML(短縮形)
!Ref RefName
!Join [ ",": [ "a", "b", "c"] ]