Tham chiếu biến hiện tại trong câu lệnh điều kiện Ansible?


7

Tôi đang sử dụng vai trò willshersystems.users từ thiên hà ansible để tạo người dùng trên các máy chủ Ubuntu. Bây giờ tôi đã có nó hoạt động ổn định, tôi đang cố gắng đặt thuộc tính trạng thái dựa trên việc người dùng có nên truy cập vào một máy chủ cụ thể được cung cấp danh sách hay không.

Là một cái gì đó như dưới đây có thể? Google fu của tôi dường như đang làm tôi thất vọng vào lúc này, mọi lời khuyên sẽ rất được đánh giá cao!

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

Câu trả lời:


3

Còn những thứ như thế này thì sao:

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.