0

我正在为自己做一个小型的 ansible 项目。

main.yml的角色的默认文件夹中有一个。

结构:

master-folder
 `- roles
     `- some_role
         |- tasks
         |   `- main.yml
         `- defaults
             `- main.yml

现在...在我some_variables.yml的字典中有 2 个变量。

parent_var:
  child_var: bob
  child_two_var: bobby

在我的 main.yml任务中,我想获取密钥和值so ( child_var: bob) 并将其写入另一个文件。

我需要帮助的是从main.yml默认文件夹中获取键和值。

4

1 回答 1

0

中定义的任何变量defaults/*.yml都可以从角色的任何任务中访问{{tree.to.variable}}

因此,在您的情况下,您可以简单地访问{{parent_var}}.

如果要循环遍历键和值,可以使用with_dictloop

- lineinfile:
    line: "Value for '{{ item.key }}' is '{{ item.value }}'"
    dest: /tmp/test/file1
  with_dict: "{{ parent_var }}"

如果你需要在模板中循环,{% for %}jinja2 中有。

- copy:
    dest: /tmp/test/file
    content: |
      {% for k,v in parent_var.iteritems() %}
      Value for '{{ k }}' is '{{ v }}'
      {% endfor %}
于 2017-07-07T13:44:35.727 回答