【问题标题】:Ansible looping through values specified in a fileAnsible 循环遍历文件中指定的值
【发布时间】:2019-01-31 06:06:43
【问题描述】:

作为初学者尝试掌握 ansible 循环。我有一个角色来设置具有各自属性的多个用户。当值在任务文件中指定时,我可以成功循环这​​些值,但如果它们保存在不同的文件中,则很难调用这些值。

“/roles/myusers/tasks/useradd.yml”的内容

- name: Add serveral users
  user:
    name: "{{ item.name }}"
    group: sftp
    groups: sftp
    state: present
    uid: "{{ item.uid }}"
  loop:
    {{ users }}

“/roles/myusers/vars/main.yml”的内容

---
users:
  - { name: 'testuser1', uid: '691' }
  - { name: 'testuser2', uid: '692' }```

“/roles/myusers/tasks/main.yml”的内容内容

---
- import_tasks: useradd.yml

请有人能解释一下吗?我的理解是,当这些值保存在 /var/main.yml 文件中时,似乎没有理由使用“include_vars”、“include”等......?承认我没有花足够的时间浏览文档。看起来这不是最容易阅读的东西。 TIA 伙计们。

【问题讨论】:

    标签: loops ansible


    【解决方案1】:

    缺少报价。试试

    循环:“{{用户}}”

    【讨论】:

    • 非常感谢弗拉基米尔。做到了。 :) 顺便说一句,我如何在那里使用条件?例如,仅在某些条件匹配时才创建这 2 个用户?我知道你应该使用 when 但是我在 /vars/main.yml 中在哪里指定条件?
    • 您可以在任务中指定conditions
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-27
    相关资源
    最近更新 更多