Puppet支持任何其他编程语言的功能,因为Puppet的基本开发语言是Ruby.它支持两种类型的函数,其名称为语句和 rvalue 函数.
语句独立存在,并且没有任何返回类型.它们用于执行独立任务,例如在新清单文件中导入其他Puppet模块.
Rvalue 返回值,只能是在语句需要值时使用,例如赋值或case语句.
在Puppet中执行函数的关键是,它只在Puppet master上执行,它们不在客户端或Puppet代理上执行.因此,他们只能访问Puppet master上可用的命令和数据.存在不同类型的功能,甚至用户也有权根据要求创建自定义功能.下面列出了几个内置函数.
文件函数
文件资源的文件功能是在Puppet中加载模块并返回所需的输出字符串的形式.它寻找的参数是< module name>/< file>引用,它有助于从Puppet模块的文件目录加载模块.
像script/tesingscript.sh一样,将从< module name>/script/files/testingscript.sh加载文件.函数具有读取和接受绝对路径的功能,这有助于从磁盘上的任何位置加载文件.
包含函数
在Puppet中,include函数与任何其他编程语言中的include函数非常相似.它用于声明一个或多个类,这会导致评估这些类中存在的所有资源,最后将它们添加到目录中.它的工作方式是,include函数接受类名,类列表或逗号分隔的类名列表.
使用 include
Include函数在声明类时不会导致类包含在类中,因为我们需要使用包含的函数.它甚至不会在声明的类和它周围的类中创建依赖.
在include函数中,只允许类的全名,不允许使用相对名称.
定义函数
在Puppet中,定义的函数有助于确定给定类或资源类型的定义位置,并返回布尔值.还可以使用define来确定是定义了特定资源还是定义的变量具有值.使用定义函数时要记住的关键点是,此函数至少使用一个字符串参数,该参数可以是类名,类型名,资源引用或"$ name"形式的变量引用.
定义本机和已定义函数类型的函数检查,包括模块提供的类型.类型和类名称匹配.该函数使用资源引用匹配资源减速.
定义函数匹配
# Matching resource types defined("file") defined("customtype") # Matching defines and classes defined("testing") defined("testing::java") # Matching variables defined('$name') # Matching declared resources defined(File['/tmp/file'])
免责声明:以上内容(如有图片或视频亦包括在内)有转载其他网站资源,如有侵权请联系删除
-
设计总结|如何更好地表达活动品牌?
-
谈谈“目标思维”的落地
编辑导读:我们在做数据分析之前,一定要搞清楚需求方的目标到底是什么,要根据目标来重新定义业务方提出的问题,这就是目标思维。目标思维有多重要呢?应该如何落地呢...
-
在线教育平台竞品分析:网易云课堂vs腾讯课堂
本文从移动端出发,对当前比较热门的两款在线教育平台软件-网易云课堂和腾讯课堂进行比较和分析,不足之处还请大家多提意见。 市场分析 随着国内互联网技术的发展和移...
-
即学即用|父亲节活动的4种运营策略
-
B端产品经理和体验设计师的工作职责边界梳理
-
豆果美食电商分支用户体验报告及建议
-
数据分析师如何提高工作效率
在我们的日常工作中,提高工作效率是每个岗位都需要实现的,在工作中,面对比较凌乱的事情时,首先我们需要梳理清楚,按重要级进行开展;本文作者���享了关于...
-
2016中国云计算SaaS移动办公平台年度综合报告
-
网易大布局教育事业:网易公开课、网易云课堂和MOOC分析
-
一篇文章搞懂语音交互的来龙去脉