一千萬個為什麽

搜索

在Ansible條件語句中引用當前變量?



我使用asible galaxy中的 willshersystems.users 角色在ubuntu服務器上創建用戶。現在我的工作始終如一,我試圖根據用戶是否應該有權訪問給定列表的特定服務器來設置狀態屬性。

是否像下面的可能?我的谷歌福似乎目前正在失敗,任何建議將非常感激!

vars:
  user_servers:
    user1:
      - testing1

  users:

    - name: user1
      groups: '{{ user_groups }}'
      state: "{{ ( inventory_hostname_short in user_servers[self.name] ) | ternary('present','absent') }}"

roles:
  - role: willshersystems.users

轉載註明原文: 在Ansible條件語句中引用當前變量?

一共有 1 個回答:

如何這樣的事情:

hosts: all

vars:
  user_servers:
    user1:
      - testing1

  users:
    -name: user1
    -groups: '{{ user_groups }}'
    -state: present

roles:
  - name: Add filtered users
    tasks:
      - name: Filter users 
        debug: User {{ item }}
        with_items: "{{ users | default([]) }}"
        when: {{ inventory_hostname_short }} in user_servers[item]
        register: filtered_users  

      - name: Add filtered users
        include_role: wilshersystems.users
        with_items:
        - {{ filtered_users }}
        loop_control:
        - loop_var: users