使用ansible API打印主机列表

2024-10-03 02:47:38 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用ansible API获取主机列表。我需要使用ansibelpythonapi的等效命令。在

ansible all --list-host

编辑:

这条路对吗?在

^{pr2}$

Tags: 命令apihost编辑列表ansiblealllist
1条回答
网友
1楼 · 发布于 2024-10-03 02:47:38

像这样:

import json
from collections import namedtuple
from ansible.parsing.dataloader import DataLoader
from ansible.vars.manager import VariableManager
from ansible.inventory.manager import InventoryManager

loader = DataLoader()

inventory = InventoryManager(loader=loader, sources=['PATH_TO_INVENTORY_FILE'])

variable_manager = VariableManager(loader=loader, inventory=inventory)

myhosts = variable_manager.get_vars()['groups']['all']

请注意,_INVENTORY_文件的路径可以是绝对路径,也可以是相对于当前目录的路径,因此可以执行“./INVENTORY/hosts”之类的操作

也要知道在那里所有的主人都会聚集在一起。如果要筛选特定组,只需指定组的名称,而不是“all”。在

相关问题 更多 >