我正在尝试检查是否已创建JBoss管理用户。我有一个工作剧:
- name: Check if Management user has already been created
shell: "grep -i '{{jbossvars.mgmt_user}}' {{env_home}}/standalone/configuration/mgmt-users.properties | grep -v '#'"
register: mgmt_users_file
changed_when: false
failed_when: mgmt_users_file.rc != 1 and mgmt_users_file.rc != 0
- name: Add Management user if it has not been created
shell: "{{env_home}}/bin/add-user.sh --silent=true {{jbossvars.mgmt_user}} {{jbossvars.mgmt_pass}}"
when: mgmt_users_file.stdout == ""
现在,我在保持相同功能的同时尝试遍历一个字典 仅当mgmt_users_file.results [X] .stdout(以X为索引)为空时,才能执行脚本。
我在想
- name: Add Management user if it has not been created
shell: "{{ item.value['env_home'] }}/bin/add-user.sh --silent=true {{ item.value['mgmt_user'] }} {{ item.value['mgmt_pass'] }}"
when: mgmt_users_file.results[{{item2}}].stdout == ""
with_dict: "{{jbossvars_extra.environments}}"
with_sequence:
start=0
end={{jbossvars_extra.environments|count}}
实际上,我只需要能够嵌套2个循环( item 和 item2 )
我怎么能得到这个?
答案 0 :(得分:0)
无法以这种方式连接变量名称
mgmt_users_file_{{ item.value['env_home'] }}.stdout == ""
与以前一样使用寄存器
register: mgmt_users_file
打印 mgmt_users_file 以查看循环创建的结构
- debug: var=mgmt_users_file
在下一个循环中使用 mgmt_users_file 的结构。