数组:http://docs.puppetlabs.com/puppet/latest/reference/lang_datatypes.html#arrays
类:http://docs.puppetlabs.com/puppet/latest/reference/lang_classes.html
数组:
[]:内用,分隔开,就组成一个数组,如:$a = [1,"one",'two'] ,$a[0] = 1
$arr = ['one',"two","three"] notice $arr[0]
如下,执行代码后,会在file目录下面创建f1、f2文件,并把权限改成777
$files = ["/puppet/file/f1","/puppet/file/f2"] file { $files: ensure => present, mode => 777, }
类:
class 类名 {
puppet代码,一般多个资源放在一起,比如安装软件、配置文件、运行状态
}
include 类名 ;执行类
注:类的命名很多类似:class base , class base::linux 这二个是不同类。
class ntp { file { "/etc/ntp.conf": mode => 644, owner => root, group => hxw, } } class ntp::run { service { "ntpd": ensure => running, } } include ntp,ntp::run
[root@pclient test]# puppet apply 5.pp Notice: Scope(Class[main]): one Notice: Compiled catalog for pclient.onepc.com in environment production in 0.17 seconds Notice: /Stage[main]/Ntp/File[/etc/ntp.conf]/group: group changed 'root' to 'hxw' Notice: /Stage[main]/Ntp::Run/Service[ntpd]/ensure: ensure changed 'stopped' to 'running' Notice: Finished catalog run in 0.23 seconds
类继承:
class ntp { file { "/etc/ntp.conf": mode => 644, owner => root, group => root, } } class ntp::autorun inherits ntp { service { "ntpd": ensure => running, enable => true, } } include ntp::autorun
[root@pclient test]# puppet apply 5.pp Notice: Scope(Class[main]): one Notice: Compiled catalog for pclient.onepc.com in environment production in 0.16 seconds Notice: /Stage[main]/Ntp/File[/etc/ntp.conf]/group: group changed 'hxw' to 'root' Notice: /Stage[main]/Ntp::Autorun/Service[ntpd]/ensure: ensure changed 'stopped' to 'running' Notice: Finished catalog run in 0.65 seconds [root@pclient test]# chkconfig | grep ntpd ntpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
class ntp::autorun inherits ntp
使用 inherits继承类
转载于:https://blog.51cto.com/hxw168/1396483