Ansible-检查项目是否在列表中

Ansible-检查项目是否在列表中,ansible,Ansible,我想比较两个列表——一个是所有可用选项,另一个是要选择的特定选项。 例如,我有两个列表: FullList: - name: "Test1" value1: "blabla123" value2: "someothervalue" - name: "Test2" value1: "blsdfsdfasfabla" value2: "someothervalue" - name: "Test3" value1: "sdjfbhsadbfv"

我想比较两个列表——一个是所有可用选项,另一个是要选择的特定选项。 例如,我有两个列表:

FullList:
  - name: "Test1"
    value1: "blabla123"
    value2: "someothervalue"
  - name: "Test2"
    value1: "blsdfsdfasfabla"
    value2: "someothervalue"
  - name: "Test3"
    value1: "sdjfbhsadbfv"
    value2: "someothervalue"
  - name: "Test4"
    value1: "sdjkfnsjkf"
    value2: "sdjkfnsjkf"
它包含所有可用元素及其属性

我有第二个列表,其中有特定的键,可以从完整的列表中选择项目

List1:
  - "Test2"
  - "Test3"
我想从列表1中的FullList中获取元素

i、 我想

Result:
  - name: "Test2"
    value1: "blsdfsdfasfabla"
    value2: "someothervalue"
  - name: "Test3"
    value1: "sdjfbhsadbfv"
    value2: "someothervalue"
任何帮助都将不胜感激

选择attr并在中执行作业。比如说

-设定事实: 结果:{{FullList | selectattr'name',in',List1 | list} 选择Attr并在中执行该作业。比如说

-设定事实: 结果:{{FullList | selectattr'name',in',List1 | list}
请按以下方式打印

  tasks:
  - debug:
     msg : "{{ item }}"
    when: item.name in List1
    loop: "{{FullList}}"

要保存为变量,请按如下所示使用

  - name: test
    set_fact:
     test: "{{ item }}"
    when: item.name in List1
    loop: "{{FullList}}"

请按以下方式打印

  tasks:
  - debug:
     msg : "{{ item }}"
    when: item.name in List1
    loop: "{{FullList}}"

要保存为变量,请按如下所示使用

  - name: test
    set_fact:
     test: "{{ item }}"
    when: item.name in List1
    loop: "{{FullList}}"

非常感谢弗拉基米尔!非常感谢弗拉基米尔!