Ссылка На Текущую Переменную В Условном Операторе Ansible?

  • Автор темы Hoganoutlet545
  • Обновлено
  • 19, Oct 2024
  • #1

Я использую willshersystems.users роль от ansible galaxy для создания пользователей на серверах Ubuntu. Теперь, когда он работает стабильно, я пытаюсь установить атрибут состояния в зависимости от того, должен ли пользователь иметь доступ к определенному серверу, указанному в списке.

Возможно ли что-то вроде приведенного ниже? Кажется, мой Google Fu в данный момент меня подводит, буду очень признателен за любой совет!

 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
 

#ансибль

Hoganoutlet545


Рег
03 May, 2014

Тем
89

Постов
198

Баллов
693
  • 25, Oct 2024
  • #2

Как насчет чего-то вроде этого:

 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
 
 

Gum Andrey


Рег
21 Jan, 2011

Тем
65

Постов
200

Баллов
545
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно