我需要使用模块ansible.builtin.user
获取新创建的用户的$HOME路径的值。
---
- name: Create users
vars:
users:
user1:
passwd:
uid: '1111'
comment: 'Test User'
shell: '/bin/zsh'
user2:
passwd:
uid: '1111'
comment: 'Test User'
shell: '/bin/zsh'
tasks:
- name: Create user "{{ item.key }}"
ansible.builtin.user:
name: "{{ item.key }}"
comment: "{{ item.value.comment }}"
uid: "{{ item.value.uid }}"
shell: "{{ item.value.shell }}"
password: "{{ item.value.passwd }}"
loop: "{{ lookup('dict', users, wantlist=True) }}"
register: main_user
- name: debug
debug:
msg: "The home folder is {{main_user.results.home}}"
这里的问题是变量main_user
有以下内容:
ok: [192.168.0.98] => {
"msg": {
"changed": true,
"msg": "All items completed",
"results": [
{
"ansible_loop_var": "item",
"changed": true,
"comment": "Test",
"create_home": true,
"failed": false,
"group": 100,
"home": "/home/user",
"invocation": {
"module_args": {
"append": false,
"authorization": null,
"comment": "Test",
"create_home": true,
我不知道如何得到results.home
的值。
预期:
ok: [192.168.0.98] => {
"msg": {
"changed": true,
"msg: "The home folder is home/user"
有人能给我点光吗?
2条答案
按热度按时间50pmv0ei1#
例如,给定字典 users
创建用户。模块 user 只需要参数 name。您可以通过filer default(omit) 使其他参数可选
看一下注册的变量 user
您可以选择所需的任何信息。
给予
创建一个字典
给予
现在搜索用户的家已经很简单了。就像您可以创建其他字典一样。例如,
,也可以创建具有多个属性的字典
给予
完整的测试行动手册示例
hec6srdp2#
是个数组。索引它。