gpt4 book ai didi

ansible - 如何在剧本中过滤收集事实?

转载 作者:行者123 更新时间:2023-12-03 21:03:59 24 4
gpt4 key购买 nike

我正在从事一个只需要收集一个事实的角色。

性能是一个问题,我知道收集事实非常耗时。

我正在寻找某种过滤方式gather_facts在剧本中,这将使我只收集所需的事实。

使用 setup core 模块可以做到这一点:

ansible -m setup -a 'filter=ansible_hostname' my_host

10.200.0.127 | success >> {
"ansible_facts": {
"ansible_hostname": "my_host"
},
"changed": false
}

可以在剧本中使用此功能吗?像这样的东西?
- hosts: all
sudo: yes
gather_facts: True
filter: "filter=ansible_*"

PS:上面的代码抛出语法异常。

编辑 1 : 如果有人需要获取主机名,还有另一个有用的变量 inventory_hostname .

最佳答案

playbook 顶部的 Ansible 方式(附加方式):

----
- hosts: web
gather_facts: True
gather_subset:
- network
- virtual

调试变量:
  - name: Print some debug information 
vars:
msg: |
Module Variables ("vars"):
--------------------------------
{{ vars | to_nice_json }}

Environment Variables ("environment"):
--------------------------------
{{ environment | to_nice_json }}

GROUP NAMES Variables ("group_names"):
--------------------------------
{{ group_names | to_nice_json }}

GROUPS Variables ("groups"):
--------------------------------
{{ groups | to_nice_json }}

HOST Variables ("hostvars"):
--------------------------------
{{ hostvars | to_nice_json }}

debug:
msg: "{{ msg.split('\n') }}"
tags: debug_info

关于ansible - 如何在剧本中过滤收集事实?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34485286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com