Func系列4:其他功能

非Python API接口支持

Func通过非Python API实现远程调用,目的是为第三方工具提供调用及返回接口。Func使用func-transmit命令来实现,支持YAML、JSON格式,实现了跨应用平台、语言、工具等,比如通过java、C生成JSON格式的接口定义,通过func-transmit命令来进行调用,使用上非常简单,扩展性也非常强。

定义一个command模块的远程执行,分别采用YAML、JSON格式进行定义

【run.yml】

clients: ‘*‘ #目标主机
async: False #是否同步
nforks: 1 #启用线程数
module: command #模块名称
method: run #模块方法名
parameters: ‘/bin/echo Hello World‘ #参数

【run.json】

{
‘clients‘: ‘*‘,
‘async‘: ‘False‘,
‘nforks‘: 1,
‘module‘: ‘command‘,
‘method‘: ‘run‘,
‘parameters‘: ‘/bin/echo Hello World‘,
}

通过func-transmit命令调用不同接口配置,将返回不同的格式串

func-transmit --yaml < run.yaml
#结果:
---
test:
- 0
- |
Hello World
- ‘‘

func-transmit --json < run.json
#结果:
{"test": [0, "Hello World\n", ""]}

返回的两种格式都可以被绝大部分语言解析,方便后续处理。

Func的Facts支持

Facts是一个非常有用的组件,其功能类似于Saltstack的grains、Ansible的Facts,实现获取远程主机的系统信息,以便在对目标主机操作时作为条件进行过滤,产生差异。Func的Facts支持通过API来扩展用户自己的属性。Facts由两部分组成:模块(module)、方法(method),可以通过list_fact_modules、list_fact_methods方法来查看当前支持的模块与方法清单。

例:

func ‘*‘ call fact list_fact_modules
#结果:
{‘wx‘: [‘hardware‘, ‘fact_module‘]}

func ‘*‘ call fact list_fact_methods
#结果:
{‘wx‘: [‘hardware.cpu_model‘,
‘kernel‘,
‘cpumodel‘,
‘hardware.kernel_version‘,
‘cpuvendor‘,
‘hardware.run_level‘,
‘hardware.cpu_vendor‘,
‘hardware.os_name‘,
‘runlevel‘,
‘os‘]}

#func ‘*‘ call fact call_fact ‘os‘ #调用os方法,查看主机操作系统信息

Fact支持and与or作为条件表达式连接操作符

and表达式:--filter

语法:

--filter ‘关键词 操作符 值’
--filter ‘值 in 关键词’

例:

func ‘*‘ call --filter ‘kernel>=2.6,CentOS in os‘ command run ‘uptime‘ #所有满足内核版本大于等于2.6,并且操作系统包含CentOS的目标主机运行uptime命令

or表达式:--filteror
语法:

--filteror ‘关键词 操作符 值’
--filteror ‘值 in 关键词’

例:

func ‘*‘ call --filteror ‘kernel>=2.6,runlevel=5‘ command run ‘df -h‘ #所有满足内核版本大于等于2.6,或者运行级别等于5的目标主机运行df -h命令


参考资料:

根据刘天斯《Python自动化运维技术与最佳实践》整理

时间: 2024-08-29 13:21:21

Func系列4:其他功能的相关文章

15-iOS开发工具系列(按功能分)

iOS开发工具系列(按功能分) 这是我们多篇iOS开发工具系列篇中的一篇,此前的文章比如:那些不能错过的Xcode插件,iOS开发者有价值的工具集,iOS/OS X开发:各种工具快到碗里来!,App原型设计工具使用心得(上)& App原型设计工具使用心得(下),你用哪种工具进行iOS app自动化功能测试?,iOS 开发者必知的 75 个工具 有没有这篇文章总结的更全面的? 以下是今天的iOS开发工具系列 通用工具 HomeBrew:OS X上非常出色的包管理工具. 源码控制 Git:分布式版本

Android RakNet 系列之二 功能介绍

简介 RakNet 已经成功地在Android平台上测试成功.RakNet的文档很多,实现起来很简单,下面对Raknet功能细节进行详细了解. 详情 1.RakNet使用哪些数据结构? 结构文件 描述 DS_BinarySearchTree.h 二叉搜索树,以及AVL平衡二叉搜索树 DS_BPlusTree.h B+树,用于快速查询,删除,和插入 DS_BytePool.h 返回某个大小门限的数据块,减少内存碎片 DS_ByteQueue.h 用于读写字节的队列 DS_Heap.h 堆数据结构体

Func系列2:常用模块及API

简介 Func提供了非常丰富的功能模块,包括CommandModule(执行命令).CopyFileModule(拷贝文件).CPUModule(CPU信息).DiskModule(磁盘信息).FileTrackerModule(文件跟踪).IPtablesModule(iptables管理).MountModule(Mount挂载).NagiosServerModule(Nagios管理).NetworkTest(网络测试).ProcessModule(进程管理).SysctlModule(s

[聊一聊系列]聊一聊前端功能统计那些事儿

欢迎大家收看聊一聊系列,这一套系列文章,可以帮助前端工程师们了解前端的方方面面(不仅仅是代码):https://segmentfault.com/blog... 1. 什么是功能统计 作为一名开发,我们的产品发布出去之后,无论是产品还是运营,其实都是想及时了解产品对用户产生的影响的.用户到底喜欢什么不喜欢什么.但是如果拉住用户去一个个问的话,也无法得到最真实的大众的想法.于是,运用大数据进行分析,就变成了产品们的利器. 那么这些反映了用户真实行为的数据,就得靠前端工程师们来打印了. 比如,你想看

Vue系列之 =&gt; 评论功能(小知识点串联)

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-equiv="X-UA-Compat

Windows AD证书服务系列---证书的功能概述(1)

SSL安全技术可用于大部分的网站,它主要用来处理重要的安全数据.SSL在服务器和客户端之间建立了一条安全的加密连接,最常见的是WEB服务器和浏览器或者客户端计算机上的Email客户端之间的连接.SSL被公认为一种安全性协议,因为它为加密连接指定了加密算法和必要变量,使用SSL的安全连接的目的,就是为了使数据在服务器和客户端之间传递的时候受到保护,比如信用卡号,登入凭证,以及其他的一些重要数据. 想用SSL建立一个受保护的连接,就必须在服务器上安装证书,内部CA和公共CA都可以给SSL颁发证书.对

C#高级功能(三)Action、Func,Tuple

Action和Func泛型委托实际上就是一个.NET Framework预定义的委托,3.5引入的特性.基本涵盖了所有常用的委托,所以一般不用用户重新声明. Action系列泛型委托,是没有返回参数的委托,最多可以有16参数,也可以没有参数:Func系列的委托是有返回值的委托,最多可以有16个参数: 元组是C# 4.0引入的一个新特性,编写的时候需要基于.NET Framework 4.0或者更高版本.元组使用泛型来简化一个类的定义. 提供用于创造元组对象的静态方法.最多可以提供创建新的 8 元

Spartan6系列之器件引脚功能详述

1.   Spartan-6系列封装概述 Spartan-6系列具有低成本.省空间的封装形式,能使用户引脚密度最大化.所有Spartan-6 LX器件之间的引脚分配是兼容的,所有Spartan-6 LXT器件之间的引脚分配是兼容的,但是Spartan-6 LX和Spartan-6 LXT器件之间的引脚分配是不兼容的. 表格 1Spartan-6系列FPGA封装 2.   Spartan-6系列引脚分配及功能详述 Spartan-6系列有自己的专用引脚,这些引脚是不能作为Select IO使用的,

精品软件 推荐 Able2Extract Professional 多功能的 PDF 转换器

Able2Extract Professional 是一个多功能的 PDF 转换器,可以将任意 PDF 文件转换为 Word (doc).Excel (xls).PowerPoint (ppt).Publisher.OpenOffice (odt/odp/ods).HTML.AutoCAD (dwg/dxf) 或者图片文件 (bmp/jpg/png/gif/tiff). Able2Extract Pro 的一个特色功能是图片 PDF 的转换,即通过 OCR 文字识别技术轻松转换扫描型 PDF 或