小编awr*_*son的帖子

如何在Ansible中加入字符串列表?

在Ansible中,我有一个字符串列表,我想用换行符加入以创建一个字符串,当写入文件时,它变成一系列行.但是,当我使用join()过滤器时,它适用于内部列表,字符串中的字符,而不是外部列表中的字符串本身.这是我的示例代码:

# Usage: ansible-playbook tst3.yaml --limit <GRP>
---
- hosts: all
  remote_user: root

  tasks:

  - name: Create the list
    set_fact:
        my_item: "{{ item }}"
    with_items:
      - "One fish"
      - "Two fish"
      - "Red fish"
      - "Blue fish"
    register: my_item_result

  - name: Extract items and turn into a list
    set_fact:
        my_list: "{{ my_item_result.results | map(attribute='ansible_facts.my_item') | list }}"

  - name: Examine the list
    debug:
        msg: "{{ my_list }}"

  - name: Concatenate the public keys
    set_fact:
        my_joined_list: "{{ item | join('\n') }}" …
Run Code Online (Sandbox Code Playgroud)

ansible

12
推荐指数
1
解决办法
3万
查看次数

如何在Ansible剧本中获得--limit参数的值?

在ansible中,是否可以在剧本中获得参数的值 - "limit"选项?我想做的是这样的:

---
- hosts: all
  remote user: root
  tasks:
  - name: The value of the --limit argument
    debug:
      msg: "argument of --limit is {{ ansible-limit-arg }}"
Run Code Online (Sandbox Code Playgroud)

然后当我运行他的命令时:

$ ansible-playbook getLimitArg.yaml --limit webhosts
Run Code Online (Sandbox Code Playgroud)

我会得到这个输出:

argument of --limit is webhost
Run Code Online (Sandbox Code Playgroud)

当然,我编写了变量"ansible-limit-arg"的名称,但有没有一种有效的方法呢?我可以指定两次"webhosts",第二次使用--extra-args,但这似乎是一种迂回的方式.

ansible

9
推荐指数
2
解决办法
4158
查看次数

标签 统计

ansible ×2