我有以下with_nested:
- name: Create solr schema for solr_cores
uri:
url: http://{{ cassandra_cluster_ips.split(',') | random }}:8983/solr/admin/cores?action={{ solr_core_action }}&core={{ item[1] }}.{{ item[0] }}
timeout: "{{ solr_create_timeout }}"
sudo: True
with_nested:
- "{{ solr_cores }}"
- "{{ client_names }}"
我想改变我的额外变量:
#solr_cores: ['dom_chunk_meta', 'dom', 'tra_chunk_meta','tra','dom_difference_results','me_output']
#solr_core_action: "reload"
to:solr_cores:[{'dom_difference_results':'create'},{'dom':'reload'},{'tra':'reload'},{'me_output':'reload'}]
我查看了子元素,但不知道如何将其作为一个简单的字典列表传递给我,以便我可以将它们设置为uri来访问它。
我不是100%确定你想要做什么,但with_dict可能是一个使用的。如果这不适合你,请评论,我会调整答案。
在您的vars /库存中:
solr:
- name: core1
create_timeout: 30
action: reload
- name: core2
action: create
create_timeout: 60
在你的剧本中:
- name: Create solr schema for solr_cores
uri:
url: http://{{ cassandra_cluster_ips.split(',') | random }}:8983/solr/admin/cores?action={{ item.value.core_action }}&core={{ item.value.name }}.{{ item.value.other }}
timeout: "{{ item.value.create_timeout }}"
sudo: True
with_dict: "{{ solr }}"