Ansible剧本中的关联数组


9

我正在尝试使用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剧本中有办法做到这一点吗?

Answers:


15

http://docs.ansible.com/playbooks_loops.html#looping-over-哈希

---
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

@Francis作为PHP开发人员的同伴,我不知道大多数其他语言都将我们的“关联数组”称为“哈希”。帮助谷歌搜索!
ceejayoz 2014年

1
@ceejayoz“哈希”或“ dict”。
tedder42 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.