신뢰할 수있는 방법으로, 객체의 속성에 값이 포함되어 있는지 여부에 따라 객체를 필터링하는 방법은 무엇입니까? 예를 들어, private_man 객체를 필터링하여 속성 이름 = "a2"인 private_man 객체를 반환하려고합니다. 여기서 addr은 "1.2.3.4"를 포함합니다.속성 별 가능 필터에는 값이 포함되어 있습니다.
다음은 Ansible 코드입니다 :
- debug:
msg: "{{ item.name }}"
with_items: "{{ network.addresses.private_man | selectattr('addr', 'in', '1.2.3.4'}} | list"
내가 A2 객체의 요지 요소가 1.2.3.4
포함되어 있기 때문에이 "A2"를 표시 할 것으로 예상 :
- hosts: localhost
connection: local
gather_facts: no
vars:
network:
addresses:
private_ext:
- name: a1
addr:
- 1.2.3.4
private_man:
- name: a2
addr:
- 10.10.20.30
- 1.2.3.4
- name: a3
addr:
- 10.90.80.10
내가 시도 다음 그러나 이것을 실행했을 때 selectaddr ('addr', 'in', '1.2.3.4')이 유효하지 않기 때문에 아마 완전히 실패했습니다.