如何在 Terraform 中按特定键对地图/对象列表进行排序?
例子:
[
{"name":"b", "value":"some value"},
{"name":"c", "value":"some value"},
{"name":"a", "value":"some value"},
{"name":"d", "value":"some value"}
]
Run Code Online (Sandbox Code Playgroud)
所需输出
[
{"name":"a", "value":"some value"},
{"name":"b", "value":"some value"},
{"name":"c", "value":"some value"},
{"name":"d", "value":"some value"}
]
Run Code Online (Sandbox Code Playgroud)
如果你只是想排序name,马特的评论是最好的。但如果您想要其他东西,例如value按可能的重复项进行排序,您可以按如下方式进行:
locals {
in_list = [
{"name":"b", "value":"some value3"},
{"name":"c", "value":"some value1"},
{"name":"a", "value":"some value5"},
{"name":"d", "value":"some value5"}
]
#get sorted values (not names) with possible duplicates
sorted_values = distinct(sort(local.in_list[*].value))
sorted_list = flatten(
[for value in local.sorted_values:
[ for elem in local.in_list:
elem if value == elem.value
]
])
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4914 次 |
| 最近记录: |