Puppet - 功能

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'])

免责声明:以上内容(如有图片或视频亦包括在内)有转载其他网站资源,如有侵权请联系删除

咨询热线(9:00 - 18:00)
0755 - 29812418
微信公众号二维码
微信公众号二维码
微信公众号
返回顶部