#ansible #jinja2 #ansible-template #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, чтобы объединить ключ, значения в список идентификаторов пользователей словаря. Я пытаюсь добавить переменные пароля и имени группы
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