日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python调用ansible API系列(一)获取资产信息

發布時間:2024/9/5 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python调用ansible API系列(一)获取资产信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

你想讓ansible工作首先就需要設置資產信息,那么我們如何通過使用Python調取Ansible的API來獲取資產信息呢?

要提前準備一個hosts文件

獲取組或者主機

#!/usr/bin/env python # -*- coding: utf-8 -*-import sys from collections import namedtuple # 核心類 # 用于讀取YAML和JSON格式的文件 from ansible.parsing.dataloader import DataLoader # 用于存儲各類變量信息 from ansible.vars.manager import VariableManager # 用于導入資產文件 from ansible.inventory.manager import InventoryManager# InventoryManager類的調用方式 def InventoryManagerStudy():dl = DataLoader()# loader= 表示是用什么方式來讀取文件 sources=就是資產文件列表,里面可以是相對路徑也可以是絕對路徑im = InventoryManager(loader=dl, sources=["hosts"])# 獲取指定資產文件中所有的組以及組里面的主機信息,返回的是字典,組名是鍵,主機列表是值allGroups = im.get_groups_dict()print(allGroups)# 獲取指定組的主機列表print(im.get_groups_dict().get("test"))# 獲取指定主機,這里返回的是host的實例host = im.get_host("172.16.48.242")print(host)# 獲取該主機所有變量print(host.get_vars())# 獲取該主機所屬的組print(host.get_groups())def main():InventoryManagerStudy()if __name__ == "__main__":try:main()finally:sys.exit()

獲取變量

#!/usr/bin/env python # -*- coding: utf-8 -*-import sys from collections import namedtuple # 核心類 # 用于讀取YAML和JSON格式的文件 from ansible.parsing.dataloader import DataLoader # 用于存儲各類變量信息 from ansible.vars.manager import VariableManager # 用于導入資產文件 from ansible.inventory.manager import InventoryManager# VariableManager類的調用方式 def VariablManagerStudy():dl = DataLoader()im = InventoryManager(loader=dl, sources=["hosts"])vm = VariableManager(loader=dl, inventory=im)# 必須要先獲取主機,然后查詢特定主機才能看到某個主機的變量host = im.get_host("172.16.48.242")# 動態添加變量vm.set_host_variable(host=host, varname="AAA", value="aaa")# 獲取指定主機的變量print(vm.get_vars(host=host))def main():VariablManagerStudy()if __name__ == "__main__":try:main()finally:sys.exit()

?

轉載于:https://www.cnblogs.com/rexcheny/p/10677040.html

總結

以上是生活随笔為你收集整理的Python调用ansible API系列(一)获取资产信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。