Mappings セクションは、キーと値のマッピングテーブルです。 リソースまたは出力の定義で Mappings を使用する場合は、Fn::FindInMap を使用して、キーを対応する名前付きの値のセットに一致させます。
構文
Mappings は、キーと値の両方が文字列または数値となる、キーと値の 1 つ以上のペアで構成されます。 マッピングが複数ある場合はコンマ (,) で区切ります。 マッピング名は一意である必要があります。
注 マッピングは純粋なデータとなっている必要があります。関数を含めることはできません。
例
- 以下の例は、正しい Mappings の定義を示しています。
"Mappings": { "ValidMapping": { "TestKey1": {"TestValu1": "value1"}, "TestKey2": {"TestValu2": "value2"}, 1234567890: {"TestValu3": "value3"}, "TestKey4": {"TestValu4": 1234} } }
- 以下の例は、誤った Mappings の定義を示しています。
"Mappings": { "InvalidMapping1": { "ValueList": ["foo", "bar"], "ValueString": "baz" }, "InvalidMapping2": ["foo", {"bar" : "baz"}], "InvalidMapping3": "foobar" }
- 以下の例は、Fn::FindInMap を使って戻り値を探す方法を示しています。
{ "ROSTemplateFormatVersion": "2015-09-01", "Parameters": { "regionParam": { "Description": "The region where the ECS instance is created", "Type": "String", "AllowedValues": [ "hangzhou", beijing ] } }, "Mappings": { "RegionMap": { "hangzhou": { "32": "m-25l0rcfjo", "64": "m-25l0rcfj1" }, "beijing": { "32": "m-25l0rcfj2", "64": "m-25l0rcfj3" } } }, "Resources": { "WebServer": { "Type": "ALIYUN::ECS::Instance", "Properties": { "ImageId": { "Fn::FindInMap": [ "RegionMap", { "Ref": "regionParam" }, "32" ] }, "InstanceType": "ecs.t1.small", "SecurityGroupId": "sg-25zwc****", "ZoneId": "cn-beijing-b", "Tags": [ { "Key": "Department1", "Value": "HumanResource" }, { "Key": "Department2", "Value": "Finance" } ] } } } }