首页 文章

ansible - 重建数据库输出,以便它可以用作查找值的字典

提问于
浏览
0

我使用两个搜索字符串(使用with_items)查询数据库,并在变量中注册它 . 我用debug打印变量,得到这样的东西:

{
 "result": [
  {
      "documentId": "653",
      "value": "Ubuntu"
  }
 ]
},
{
 "result": [
  {
    "documentId": "652",
    "value": "OracleLinux"
  }
 ]
}

然后,我想编写一个expression来查找documentId的值,具体取决于上面的字段'value',即 . 取决于操作系统 .

换句话说,是否可以编写一个ansible表达式,当在当前服务器上,如果{}是'OracleLinux',它给我“652”?

或者是否有某种方法可以实现这一目标,即 . 首先做一些set_fact ...我试过但失败了,因为我试图在with_items循环中设置set_fact,但只有第一个设置了 .

1 回答

  • 1

    如果原始字典是 res ,那么:

    {{ (res | map(attribute='result') | selectattr('value','equalto', ansible_distribution) | first).documentId }}
    

相关问题