小编Ali*_*aja的帖子

Ansible - 从列表创建字典

我正在尝试关注线程,但我的输出不是预期的。每个以前的项目都被添加的新项目覆盖。

我的输入是我加载到我的 accounts_list 变量中的列表如下:

account:
  - PR_user1
  - PR_user2
Run Code Online (Sandbox Code Playgroud)

输入文件中没有密码。我需要为每个用户帐户创建随机密码,在设置各种服务时使用它们,然后将它们转储到文本文件中供人使用。

我遇到的第一个任务是,一旦我将它们读入列表,我想遍历它们,为每个帐户创建密码,然后将其作为键值对存储在字典中。

我已经尝试了提到的两种技术,使用组合以及“+”将项目添加到现有字典中。

我的输入是一个名为“帐户”的简单列表。

 - set_fact:
 #  domain_accounts: "{{ domain_accounts|default({}) | combine({item|trim: lookup(...)} ) }}"
  domain_accounts: "{{ domain_accounts|default([]) + [{item|trim:lookup('...)}]  }}"
with_items: "{{account_list.accounts}}"
Run Code Online (Sandbox Code Playgroud)

我的输出如下:

TASK [set account passwords] 
******************************************************************
ok: [localhost] => (item=PR_user1) => {"ansible_facts": {"domain_accounts": [{"PR_user1": "u]oT,cU{"}]}, "changed": false, "item": "PR_user1"}
ok: [localhost] => (item=PR_user2) => {"ansible_facts": {"domain_accounts": [{"PR_user2": "b>npKZdi"}]}, "changed": false, "item": "PR_user2"}
Run Code Online (Sandbox Code Playgroud)

ansible

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

ansible ×1