Mappings セクションは、キーを対応する名前付き値のセットに一致させます。テンプレートの Resources セクションと Outputs セクションでは、組み込み関数 Fn::FindInMap を呼び出して、Mappings セクションで宣言された 2 レベルのマップ内のキーに対応する値を照会できます。
構文
Mappings セクションには、キーと値のペアが含まれています。キーは String 型です。値は、String、Number、Boolean、List、または Dictionary 型です。JSON で複数のマッピングを宣言する場合は、マッピングをカンマ (,) で区切ります。各マッピング名は一意である必要があります。
説明
Mappings は純粋なデータでなければならず、関数を含めることはできません。
Mappings セクションでは、単一レベルのマップを定義しないことをお勧めします。これは、Resource Orchestration Service (ROS) がテンプレートの Mappings セクションにある単一レベルのマップから値を照会できないためです。
Mappings:
ValidMap:
'1234567890':
TestValu3: value3 # TestValu3 の値
TestKey1:
TestValu1: value1 # TestValu1 の値
TestKey2:
TestValu2: value2 # TestValu2 の値
TestKey4:
TestValu4: 1234 # TestValu4 の値例
次の例は、Fn::FindInMap を使用して戻り値を照会する方法を示しています。
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
regionParam:
Description: Elastic Compute Service (ECS) インスタンスを作成するリージョン # ECSインスタンスを作成するリージョン
Type: String
AllowedValues:
- hangzhou
- beijing
Mappings:
RegionMap:
hangzhou:
'32': m-25l0rcfjo # 32ビット杭州リージョンのイメージID
'64': m-25l0rcfj1 # 64ビット杭州リージョンのイメージID
beijing:
'32': m-25l0rcfj2 # 32ビット北京リージョンのイメージID
'64': m-25l0rcfj3 # 64ビット北京リージョンのイメージID
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
FAQ
Mappings セクションで定義されている単一レベルのマップから値を照会することはできません。Mappings セクションのマップから値を照会する方法の詳細については、「テンプレートのマップから値を照会する方法」をご参照ください。