組み込み関数 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 オブジェクトのリストには、次の関数を使用できます。