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系列(一)获取资产信息相关推荐
- python调用lib_基于python调用libvirt API
基于python调用libvirt API 1.程序代码 #!/usr/bin/python import libvirt import sys def createConnection(): con ...
- python 图表_Python入门学习系列——使用Python调用Web API实现图表统计
使用Python调用Web API实现图表统计 Web API:Web应用编程接口,用于URL请求特定信息的程序交互,请求的数据大多以非常易于处理的格式返回,比如JSON或CSV等. 本文将使用Pyt ...
- python电脑怎么打开任务管理器_利用Python调用Windows API,实现任务管理器功能
任务管理器具体功能有: 1. 列出系统当前所有进程. 2. 列出隶属于该进程的所有线程. 3. 如果进程有窗口,可以显示和隐藏窗口. 4. 强行结束指定进程. 通过Python调用Windows AP ...
- 用Python调用OpenAI API进行文本创作
文章目录 一.前言 二.使用教程 2.1获取API密钥 2.2 连接API 2.3 文本生成 三.创作示例 3.1 诗歌创作 3.2 推荐书单 3.3 超级百度 四.总结 一.前言 本文将教大家用py ...
- 用Python调用OpenAI API做有趣的事
获取 API KEY 首先需要 可以开全局的梯子,选择日本或韩国节点,可以通过 ipinfo 检查当前 IP 地址是否为日本或韩国地区,然后访问 OpenAI 网站注册账号并完成认证. 如果自己完成账 ...
- 利用Python调用Windows API,实现任务管理器功能
任务管理器具体功能有: 1. 列出系统当前所有进程. 2. 列出隶属于该进程的所有线程. 3. 如果进程有窗口,可以显示和隐藏窗口. 4. 强行结束指定进程. 通过Python调用Windows AP ...
- 新浪微博OAuth2.0授权及使用python调用微博API
通过调用新浪微博API获取数据时数组采集中一个很好的方法,为了获取较新的资讯数据内容,本文主要介绍新浪微博OAuth2.0授权机制.微博开发者平台的使用.python调用微博API等内容,文末提供测试 ...
- python调用高德api路径规划_Python调用高德API实现批量地址转经纬度并写入表格的功能...
本段代码是先将需要转换经纬度的地址爬取在 '地址.csv' 文件里,文件截图示例: 代码展示 # coding=utf-8 # SPL # 时间:2020/12/20 21:15 import csv ...
- Python调用WPS API
Python调用WPS API 完整文档 最佳实践 WPS 在对于Office或WPS的操作场景中,最适合的其实是Pywin32的方式,因为这种方式可以直接调度由原厂商开放的API,目前我们的场景中最 ...
最新文章
- 简易在线实验室管理系统
- python之模块csv之CSV文件的写入(按行写入)
- AtCoder Regular Contest 092 Two Sequences AtCoder - 3943 (二进制+二分)
- C指针原理(13)-C指针基础
- 安卓Dialog对话框多次显示而闪退的解决办法
- java比较equlse_java基础知识要点
- Chap-4 Section 4.2.4 指令修正方式
- break lab c语言,C语言printf详解
- OSPF实验:OSPF认证
- 软件工程结对编程博客
- SQL Server 存储(5/8):理解IAM 页
- DirectShow源码下载
- Google--PageRank(网页级别)技术解密[转]
- MINA框架客户端的使用
- npm安装依赖包 版本冲突怎么办 --legacy-peer-deps的正确使用方法
- python爬虫 点击下一页,总结python爬虫抓站的实用技巧 python爬虫怎么获取下一页的url...
- 公寓宽带服务器无响应,利用RLDP协议解决网络环路故障
- 什么是零知识证明(ZK Proof)?Web2.0通往Web3.0的入口技术
- 郭盛华:警惕黑客通过共享充电宝入侵手机
- SIGIR2022 | 基于Prompt的用户自选公平性推荐算法
热门文章
- mysql 基础选择题_mysql基础12(mysql练习题)
- python清洗完数据做什么_Python 数据的清洗和准备
- pdf阅读器下载支持win7_福昕PDF阅读器(Foxit Reader)下载|福昕PDF阅读器(Foxit Reader) 9.6.1.25160 官方版...
- 初中数学四十二个几何模型_【初中数学】一题贯穿初中几何
- java arguments_命令行中执行带参数的java程序(Command-Line Arguments)
- 目前电子计算机已经发展到______阶段,《全国高校计算机联合考试广西考区一级笔试试题卷.doc...
- Leetcode怎么调试java代码,IDEA2020.1使用LeetCode插件运行并调试本地样例的方法详解...
- submodule切换分支_git子模块分支会随主项目的分支切换吗?
- mongodb 查多个不等于_高可用架构之商城的mongodb设计分析
- 牛顿法的matlab实现,利用matlab基础语句实现牛顿法matlab潮流计算