欢迎访问宙启技术站
智能推送

在Python中使用ansible.utils.display.Display()函数显示Ansible任务结果的摘要信息。

发布时间:2023-12-14 02:16:54

在Python中使用ansible.utils.display.Display()函数可以显示Ansible任务结果的摘要信息。该函数位于ansible.utils.display模块中。

使用ansible.utils.display.Display()函数时,需要传入一个ansible.playbook.play.Play对象作为参数。该对象包含了Ansible任务的结果信息。

以下是一个使用ansible.utils.display.Display()函数的示例代码:

import ansible.constants as C
from ansible.utils.display import Display
from ansible.executor.playbook_executor import PlaybookExecutor
from ansible.inventory.manager import InventoryManager

# 创建Display对象
display = Display()

# 创建PlaybookExecutor对象
playbook_executor = PlaybookExecutor(
    playbooks=[C.DEFAULT_PLAYBOOK],
    inventory=InventoryManager(loader=None, sources=C.DEFAULT_HOST_LIST),
    variable_manager=C.DEFAULT_VARS_MANAGER,
    loader=C.DEFAULT_LOADER,
    passwords={},
)

# 运行PlaybookExecutor对象的run()方法执行Ansible任务
playbook_executor.run()

# 使用Display对象的display()方法显示任务结果的摘要信息
display.display(playbook_executor._tqm.summarize())

在示例代码中,首先导入了必要的模块和类。然后创建了一个Display对象和一个PlaybookExecutor对象。接下来调用PlaybookExecutor对象的run()方法执行Ansible任务。最后使用Display对象的display()方法显示任务结果的摘要信息。在这个例子中,任务结果的摘要信息作为参数传入了display()方法。

需要注意的是,示例代码中的C.DEFAULT_PLAYBOOK和C.DEFAULT_HOST_LIST分别代表了默认的Ansible Playbook文件和主机清单文件。你可以根据自己的情况进行修改。

总结:

使用ansible.utils.display.Display()函数可以显示Ansible任务结果的摘要信息。你需要创建一个Display对象,并将任务结果的摘要信息作为参数传递给display()方法。使用这个函数可以方便地获取和展示任务结果的总结信息,并进行后续的处理和分析。