文档

Fn::Index

更新时间:

调用内部函数Fn::Index,用于查找列表中某个元素的索引。

函数声明

  • JSON

    {
      "Fn::Index": [
        "item_to_find_index",
        [
        	"item1",
          "item2",
          ...
     		]
      ]
    }
  • YAML

    • 完整函数的语法。

      Fn::Index:
       - item_to_find_index
       - - item1
         - item2
         - ...
    • 缩写形式。

      !Index [item_to_find_index, [item1, item2, ...]]

参数信息

  • item_to_find_index:想要获取索引的元素。如果列表中不包含该元素,则返回空。

  • item:列表中的元素。

返回值

列表中元素的索引,不存在则返回空。

使用示例

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ZoneIds:
    Type: Json
    Default:
      - cn-beijing-a
      - cn-beijing-b
      - cn-beijing-f
  ZoneId:
    Type: String
    Default: cn-beijing-b
Outputs:
  Index:
    Value: !Index [!Ref ZoneId, !Ref ZoneIds]
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ZoneIds": {
      "Type": "Json",
      "Default": [
        "cn-beijing-a",
        "cn-beijing-b",
        "cn-beijing-f"
      ]
    },
    "ZoneId": {
      "Type": "String",
      "Default": "cn-beijing-b"
    }
  },
  "Outputs": {
    "Index": {
      "Value": {
        "Fn::Index": [
          {
            "Ref": "ZoneId"
          },
          {
            "Ref": "ZoneIds"
          }
        ]
      }
    }
  }
}

支持的函数

对于Fn::Index需要索引的元素值,您可以使用Ref函数。

对于对象的Fn::Index列表,您可以使用以下函数: