📅  最后修改于: 2021-01-08 05:00:28             🧑  作者: Mango
人偶类是将人偶资源组合在一起作为一个单元的集合。类用于对节点的基本方面进行建模。 Puppet使用类使结构可重用和组织。每个节点只能评估一次类。
p代码中相同代码的重复。
在使用类之前,我们必须定义它,这是通过class关键字,类的名称,花括号和一组代码来完成的。这部分代码不会自动评估代码。
句法:
class my_class {
... puppet code ...
}
类的声明部分评估该类中的代码并应用其所有资源。代码的这一部分实际上做了一些事情。
句法:
class my_class {
... puppet code ...
}
include my_class
class unix {
file {
'/etc/passwd':
owner => 'superuser',
group => 'superuser',
mode => 644;
'/etc/shadow':
owner => 'nikita',
group => 'nikita',
mode => 440;
}
}
让我们看另一个与上面的示例相似的简单示例:
class unix {
file {
'/etc/passwd':
owner => 'superuser',
group => 'superuser',
mode => 644;
}
file {'/etc/shadow':
owner => 'nikita',
group => 'nikita',
mode => 440;
}
}
参数用于允许类请求外部数据。如果类必须将其自身配置为事实以外的数据,则通常将通过参数将数据插入到该类中。
让我们看一个例子:
class windows_ntp (
String $server = 'time.windows.com',
) {
registry::value { 'NtpServer':
key => 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters',
data => "${server},0x9",
}
service { 'w32time':
ensure => running,
enable => true,
}
}
在上面的示例中,我们创建了一个Windows_ntp类,该类将注册表资源和服务资源分组在一起以配置Windows时间服务。 windows_ntp类接受时间服务器地址作为名为$ server的参数。