すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:Mappings

最終更新日:Jan 16, 2025

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 セクションのマップから値を照会する方法の詳細については、「テンプレートのマップから値を照会する方法」をご参照ください。