Ansible变量中的列表
我有一本Ansible Playbook,我想用它作为通用的Playbook(所有人的合唱都是一样的)。 是否有任何可能的方法在InsideVars:部分中创建列表并在PlayBook中迭代它?这样我就可以编辑我的vars部分或var.yml文件 PFB是我想要的剧本的一部分Ansible变量中的列表,ansible,Ansible,我有一本Ansible Playbook,我想用它作为通用的Playbook(所有人的合唱都是一样的)。 是否有任何可能的方法在InsideVars:部分中创建列表并在PlayBook中迭代它?这样我就可以编辑我的vars部分或var.yml文件 PFB是我想要的剧本的一部分 - name: Test playbook hosts: all remote_user: root vars: list_dict3: - packages: [ 'python-
- name: Test playbook
hosts: all
remote_user: root
vars:
list_dict3:
- packages: [ 'python-setuptools','python-dev','libfuzzy-dev','libffi-dev','screen']
tasks:
- name: Accessing list of dictionary
apt: pkg={{item.packages}} state=present
with_items: list_dict3
不确定您真正想要的是什么,因为您的变量结构非常奇怪,但要使
apt
任务正确,您应该编写:
- name: Accessing list of dictionary
apt:
name: "{{ item }}"
state: present
with_items: "{{ list_dict3[0].packages }}"
你应该更具体一些。这里的列表是什么?这里是什么?这里的字典目录是什么?不确定您真正想要的是什么。变量包:['python setuptools'、'python-dev'、'libfuzzy-dev'、'libffi-dev'、'screen']是list(类似于python中的list),抱歉混淆dict3单词它不应该有影响我想要的是一个变量,它包含应用程序列表并在apt模块中迭代。我的意思是它应该使用_项运行循环,并在“包”列表上迭代,就像在python包中一样=['python setuptools','python-dev','libfuzzy-dev','libffi-dev','screen']对于包中的pkg:os.system('apt-get install{}.format(pkg))