Ansible默认fi

2024-10-08 18:24:59 发布

您现在位置:Python中文网/ 问答频道 /正文

如何强制默认筛选器尝试查找变量的值,直到找不到该值?在

在我的代码{netplanadditionalip4 | default('netplanditionalip3')}“打印netplanditionalip3如果没有变量,但我需要默认过滤器,请尝试netplanadditionalip2 netplanpadditionalip1等,有可能吗?在

- name: debug1
  debug:
    msg: "{{netplanadditionalip1 | default ('ansible_host')}}"

- name: debug2
  debug:
    msg: "{{netplanadditionalip2 | default('netplanadditionalip1') }}"

- name: debug3
  debug:
    msg: "{{netplanadditionalip3 | default('netplanadditionalip2') }}"

- name: debug4
  debug:
    msg: "{{netplanadditionalip4 | default('netplanadditionalip3') }}"

Tags: 代码namedebugdefaulthost过滤器msgansible
1条回答
网友
1楼 · 发布于 2024-10-08 18:24:59

比如说:

 -
- name: Default Filter Sequence
  hosts: localhost
  connection: local
  gather_facts: true

  vars:

    netplanadditionalip1: 10.100.10.1
    netplanadditionalip2: 10.100.10.2
    netplanadditionalip3: 10.100.10.3

  tasks:

  - name: Fact of Ansible Host
    set_fact:
      my_host: "{{ ansible_host | default () }}"

  - name: debug1
    debug:
      msg: "{{ netplanadditionalip1 | default(my_host) }}"

  - name: debug2
    debug:
      msg: "{{ netplanadditionalip2 | default(item) }}"
    with_items:
      - "{{ netplanadditionalip1 | default( my_host ) }}"

  - name: debug3
    debug:
      msg: "{{ netplanadditionalip3 | default(item) }}"
    with_items:
      - "{{ netplanadditionalip2 | default( netplanadditionalip1 ) | default( my_host ) }}"

  - name: debug4
    debug:
      msg: "{{ netplanadditionalip4 | default(item) }}"
    with_items:
      - "{{ netplanadditionalip3 | default( netplanadditionalip2 ) | default( netplanadditionalip1 ) | default( my_host ) }}"

相关问题 更多 >

    热门问题