อาเรย์ที่เกี่ยวข้องในเพลย์ลิสต์ 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 หรือไม่?

คำตอบ:


15

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

@ ฟรานซิสในฐานะเพื่อน PHP คนหนึ่งฉันไม่ทราบว่าภาษาอื่นส่วนใหญ่เรียกว่า "อาเรย์แบบเชื่อมโยง" "แฮช" ช่วยด้วย Googling!
ceejayoz

1
@ceejayoz "hash" หรือ "dict"
tedder42
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.