Ansible 解析文件并读入变量

Ansible parse file and read into variables

我有一个我必须读取的文件,它是这样写的:(不能更改)

user_passwords:
- { username: user1, plaintextPassword: password }
- { username: user2, plaintextPassword: password }

我需要读取文件,然后将上面的值赋给以下变量,并将它们写入文件。
我不确定如何在 ansible 中循环这个。

我需要写的变量和值: 用户 1:用户 1 user1password: 密码 用户 2:用户 2 user2password: 密码

这是我试过的方法:

- name: Read file 
  include_vars:
     file: myfile
     
- name: assign variables 
    user1:  {{ username.1 }}
    user1password {{ plaintextPassword.1 }}
    user2:  {{ username.2 }}
    user2password:  {{ plaintextPassword.2 }}
  loop:  user_passwords

但这并没有给我任何结果。有人有什么想法吗?

对于你的情况,你不需要循环。按 user_passwords

列表中的位置访问相应的值
- name: Read file 
  include_vars:
     file: myfile
     
- name: assign variables 
    user1:  {{ user_passwords[0]['username'] }}
    user1password {{ user_passwords[0]['plaintextPassword'] }}
    user2:  {{ user_passwords[1]['username'] }}
    user2password:  {{ user_passwords[1][' plaintextPassword'] }}