Ansible 如何从命令参数传递变量值并将其与_项一起使用:?

Ansible 如何从命令参数传递变量值并将其与_项一起使用:?,ansible,Ansible,对我来说,以下代码正在运行- 带有_项:“{{groups['mlpoc']}}”但我想将其作为参数传入变量,而不是硬编码的mlpoc。 假设命令参数是mlhosts=mlpoc,我想使用变量而不是硬编码的值,比如- with_items:“{{groups['{{{mlhosts}}']}}”但它抛出错误。甚至可以将动态值传递给组吗? 这是我的密码- - hosts: dbsrd3510 user: '{{ mluser }}' gather_facts: no no_log: f

对我来说,以下代码正在运行-
带有_项:“{{groups['mlpoc']}}”
但我想将其作为参数传入变量,而不是硬编码的
mlpoc

假设命令参数是
mlhosts=mlpoc
,我想使用变量而不是硬编码的值,比如-
with_items:“{{groups['{{{mlhosts}}']}}”
但它抛出错误。甚至可以将动态值传递给组吗?
这是我的密码-

- hosts: dbsrd3510
  user: '{{ mluser }}'
  gather_facts: no
  no_log: false
  tasks:
    - name: Fetch source list from clients
      with_items: "{{ groups['mlpoc'] }}" 
      shell: rsync -av /MLbackup/{{ pkg }} {{ mluser }}@{{ item }}:/tmp/ 

试试这样的

---
- hosts: all
  gather_facts: no
  tasks:
    - name: Add a line to a file if the file does not exist, without passing regexp
      debug:
        msg: "{{ item }}"
      with_items: " {{ groups[group_name] }} "
您可以使用

ansible-playbook -i hosts main.yml -e group_name="all"

令人惊叹的基本上,with_项是一个要放置的约束。这对我有用shell:rsync-av/MLbackup/{{pkg}{{{mlupguser}}}{{{item}}:/tmp/with_items:{{groups[groupu name]}}}@bosari,很好,如果这解决了你的问题,请接受答案,将这个问题标记为已回答。乐意帮忙:)