我正在尝试使用 Ansible 将用户添加到我的服务器。每个用户都有不同的加密密码。
我有类似的东西:
vars:
users:
- myuser1
- myuser2
password: encryptedpasswordhere
tasks:
- name: Creating users
user: name={{ item }} password={{ password }} groups=sudo,adm shell=/bin/bash
with_items: users
这很有效,但所有用户都有相同的密码。
我想创建一个关联数组。在 PHP 中,我会这样做:
$users = array('user'=>'myuser1', 'password'=>'encryptedpass1',
'user'=>'myuser2', 'password'=>'encryptedpass2',
);
有办法在 Ansible 剧本中做到这一点吗?
答案1
http://docs.ansible.com/playbooks_loops.html#looping-over-hashes
---
users:
alice:
name: Alice Appleworth
telephone: 123-456-7890
bob:
name: Bob Bananarama
telephone: 987-654-3210
和
tasks:
- name: Print phone records
debug: msg="User {{ item.key }} is {{ item.value.name }} ({{ item.value.telephone }})"
with_dict: users