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

@Francis他のPHP開発者として、他のほとんどの言語が「連想配列」を「ハッシュ」と呼ぶことに気づいていませんでした。グーグルを支援します!
ceejayoz 2014年

1
@ceejayoz "ハッシュ"または "dict"。
tedder42 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.