Array asosiatif dalam buku pedoman yang dimungkinkan

9

Saya mencoba menambahkan pengguna ke server saya menggunakan Ansible. Setiap pengguna memiliki kata sandi terenkripsi yang berbeda.

Saya punya sesuatu seperti itu:

vars:
  users:
    - myuser1
    - myuser2
  password: encryptedpasswordhere

tasks:
  - name: Creating users
    user: name={{ item }} password={{ password }} groups=sudo,adm shell=/bin/bash
    with_items: users

Ini berfungsi dengan baik, tetapi semua pengguna memiliki kata sandi yang sama.

Saya ingin membuat array asosiatif. Dalam PHP saya akan melakukan itu:

$users = array('user'=>'myuser1', 'password'=>'encryptedpass1',
               'user'=>'myuser2', 'password'=>'encryptedpass2',
               );

Ada cara untuk melakukannya di buku pedoman Ansible?

Francis
sumber

Jawaban:

15

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

---
users:
  alice:
    name: Alice Appleworth
    telephone: 123-456-7890
  bob:
    name: Bob Bananarama
    telephone: 987-654-3210

dan

tasks:
  - name: Print phone records
    debug: msg="User {{ item.key }} is {{ item.value.name }} ({{ item.value.telephone }})"
    with_dict: users
ceejayoz
sumber
@ Francis Sebagai sesama pengembang PHP, saya tidak menyadari bahwa sebagian besar bahasa lain menyebut "array asosiatif" "hash" kami. Membantu dengan Googling!
ceejayoz
1
@ceejayoz "hash" atau "dict".
tedder42