Class 如何继承类
我不明白如何从另一个类重新启动服务。 我的结构是:Class 如何继承类,class,service,puppet,notify,Class,Service,Puppet,Notify,我不明白如何从另一个类重新启动服务。 我的结构是: # cat init.pp class nginxrtmp { include nginxrtmp::nginxinstall include nginxrtmp::nginxconfig } 在nginxrtmp::nginxsinstall中,我需要重新启动服务nginx # cat nginxinstall.pp service {'nginx': name => 'nginx.service', ensu
# cat init.pp
class nginxrtmp {
include nginxrtmp::nginxinstall
include nginxrtmp::nginxconfig
}
在nginxrtmp::nginxsinstall中,我需要重新启动服务nginx
# cat nginxinstall.pp
service {'nginx':
name => 'nginx.service',
ensure => 'running',
enable => 'true',
}
在nginxrtmp::nginxconfig中,我有带有config的*.erb模板
# cat nginxconfig.pp
file { '/etc/nginx/nginx.conf':
* => $resAttributes,
content => template('nginxrtmp/redhat.nginx.conf.erb'),
notify => nginxinstall::Service['nginx'],
}
我的问题是,如果我的模板文件发生更改,如何重新启动另一个类和文件*.pp中描述的服务nginx,我刚刚找到了答案。需要写作
include nginxrtmp::nginxinstall
在使用config的类中,您可以创建包含服务的service.pp文件,然后将其更改为:
# cat nginxconfig.pp
file { '/etc/nginx/nginx.conf':
* => $resAttributes,
content => template('nginxrtmp/redhat.nginx.conf.erb'),
notify => nginxinstall::Service['nginx'],
}
# init.pp
class nginxrtmp {
contain nginxrtmp::service
contain nginxrtmp::config
Class['::nginxrtmp::config']
~> Class['::nginxrtmp::service']
}
# service.pp
service { 'nginx':
name => 'nginx.service',
ensure => 'running',
enable => 'true',
}
# config.pp
file { '/etc/nginx/nginx.conf':
* => $resAttributes,
content => template('nginxrtmp/redhat.nginx.conf.erb'),
}
请看:这一节是关于订购的