将新键、值对组合到 Ansible 中的字典列表

时间:2021-07-13 01:48:47

标签: ansible jinja2 ansible-tower

我正在尝试将新的键值对组合到现有字典中。我使用的变量没有被替换到值中,下面是它们在我设置后的显示方式。

TASK [user_create_use_role : set_fact] *****************************************
task path: /tmp/awx_786134_c5awf3bw/project/roles/user_create_use_role/tasks/main.yml:23
ok: [xxxxxxx] => {
    "ansible_facts": {
        "USER_ID_Details": [
            {
                "group_name": "{{ group_name }}", 
                "groups": "sy,op", 
                "password": "{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=15') }}", 
                "real_name": "TESTID1", 
                "user_id": "testid1"
            }
        ], 
        "delegate_to": "localhost"
    }, 
    "changed": false
}
TASK [user_create_use_role : set_fact] *****************************************
task path: /tmp/awx_786134_c5awf3bw/project/roles/user_create_use_role/tasks/main.yml:28
ok: [xxxxxx] => {
    "ansible_facts": {
        "USER_ID_details": [
            {
                "group_name": "{{ group_name }}", 
                "groups": "sy,op", 
                "password": "{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=15') }}", 
                "real_name": "TESTID1", 
                "user_id": "testid1"
            }
        ]
    }, 
    "changed": false
}
TASK [user_create_use_role : debug] ********************************************
task path: /tmp/awx_786134_c5awf3bw/project/roles/user_create_use_role/tasks/main.yml:31
ok: [xxxxxx] => {
    "USER_ID_Details": [
        {
            "group_name": "{{ group_name }}", 
            "groups": "sy,op", 
            "password": "{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=15') }}", 
            "real_name": "TESTID1", 
            "user_id": "testid1"
        }
    ]
}

我使用以下 jinja 过滤器语法将键、值组合到字典 USER_ID_Details 列表中。我正在尝试添加密码和 group_name 变量

  vars:
    USER_ID_details:
      - user_id: testid1
        groups: sy,op
        real_name: TESTID1
    group_name: "playbook"

    - set_fact:
        USER_ID_Details: |
          {{ USER_ID_details | map('combine', { "password": "{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=15') }}"}, { "group_name": "{{ group_name }}" }) | list }}
        delegate_to: localhost  
          
    - set_fact:
        USER_ID_details: "{{ USER_ID_Details }}"
    
    - debug:
        var: USER_ID_Details  

0 个答案:

没有答案