给定源,如下所示:
{
"Name": "sandbox-config",
"VersionList": {
"version-2": [ "STAGING" ],
"version-1": [ "CURRENT", "NEXT" ],
"version-0": [ "ANCIENT" ]
}
}我正在寻找一个jmespath查询,它将为我提供:
{
"Name": "sandbox-config",
"Version": "version-1"
}其中version-1是值数组包含"CURRENT“的第一个键。
所以,像这样的查询
{ Name:Name, Version:VersionList.*[?@==`CURRENT`] | [] | [0]}给了我:
{
"Name": "sandbox-config",
"Version": "CURRENT"
}这不是我要找的。类似地:
{Name:Name, Version:VersionList.keys(@)}这给了我:
{
"Name": "sandbox-config",
"Version": [
"version-2",
"version-1",
"version-0"
]
}有什么建议吗?我觉得我在解决方案周围转来转去,但并没有完全达到那个目标。
(上下文:我正在尝试处理aws secretsmanager list-secrets的输出,它将带有ARN值的SecretVersionsToStages作为键,并使用一个包含“AWSCURRENT”的数组。)
发布于 2020-09-24 02:57:52
如果你只想用阶段AWSCURRENT获取一个秘密的版本号,我建议你使用describe secret而不是list secret。我需要调用的一件事是,将versoin编号作为键的SecretVersionsToStages,以及一个包含"AWSCURRENT“的数组。
https://stackoverflow.com/questions/64017701
复制相似问题