我有两个类,分别称为main.pp
和precheck.pp
。我的想法是,如果precheck.pp
成功,main.pp将继续执行。那么,我应该如何获得precheck.pp
的状态
class my::main {
require my::module::precheck
# I want to execute installpackage if precheck is succeed.
require my::module::installpackage
}
并且在precheck.pp
中
class my::module::precheck {
if $facts['osfamily'] == 'redhat' {
if versioncmp($facts['operatingsystemmajrelease'], '7') >= 0 {
notify {"osrelease":
message => "${::operatingsystemmajrelease} is good to install myapp."
}
}
else {
fail("myapp is not supported on this OS release")
}
}
else {
fail("myapp is not supported on ${::osfamily}.")
}
}
上面的代码段没有按预期工作。
感谢James
您可以使用链接箭头语法创建类级依赖项:
class my::main {
require my::module::precheck
require my::module::installpackage
my::module::precheck -> my::module::installpackage
}
这将创建installpackage
类容器对precheck
类容器的依赖关系。请注意,与类容器结合使用的类级依赖关系通常不被视为最佳实践。