在puppet类中指定变量
我是木偶新手,所以任何帮助都将不胜感激。我试图将静态数据传递到Puppet类中的变量在puppet类中指定变量,puppet,erb,Puppet,Erb,我是木偶新手,所以任何帮助都将不胜感激。我试图将静态数据传递到Puppet类中的变量apache\u version,具体取决于操作系统的发布版本。此变量稍后将在.erb模板文件中使用,以根据版本配置apache。现在,我的班级是这样的: class some_class_name () { case $::operatingsystem { 'RedHat' : { case $::operatingsystemrelease { /^7\..*/ :
apache\u version
,具体取决于操作系统的发布版本。此变量稍后将在.erb
模板文件中使用,以根据版本配置apache。现在,我的班级是这样的:
class some_class_name () {
case $::operatingsystem {
'RedHat' : {
case $::operatingsystemrelease {
/^7\..*/ : { }
/^6\..*/ : { }
}
}
}
}
<%- if @apache_version >= '2.4' -%>
set something
<%- else -%>
set something else
<%- end -%>
class some_class_name () {
case $::operatingsystem {
'RedHat' : {
case $::operatingsystemrelease {
/^7\..*/ : { $apache_version = '2.4' }
/^6\..*/ : { $apache_version = '2.2' }
}
}
}
}
如何在{}
括号内定义此变量?对于.erb
文件,应如下使用:
class some_class_name () {
case $::operatingsystem {
'RedHat' : {
case $::operatingsystemrelease {
/^7\..*/ : { }
/^6\..*/ : { }
}
}
}
}
<%- if @apache_version >= '2.4' -%>
set something
<%- else -%>
set something else
<%- end -%>
class some_class_name () {
case $::operatingsystem {
'RedHat' : {
case $::operatingsystemrelease {
/^7\..*/ : { $apache_version = '2.4' }
/^6\..*/ : { $apache_version = '2.2' }
}
}
}
}
但它不起作用 好的,我已经设法解决了这个问题。现在我正在使用:
if $::operatingsystemrelease =~ /^7\..*/ {
$apache_version = '2.4'
} else {
$apache_version = '2.2'
}
在
params.pp
文件中。通过此操作,一切都已正确配置。最好在此处使用$::operatingsystemmajrelease
事实:
if $::operatingsystemmajrelease == 7 {
$apache_version = '2.4'
} else {
$apache_version = '2.2'
}
我还认为这是一个很好的木偶选择器用例:
$apache_version = $::operatingsystemmajrelease ? { 7 => '2.4', default => '2.2' }
对我来说很好。
facter operatingsystem
和facter operatingsystem发布的确切输出是什么?您是否包含了一些类名称?如何检查$apache_version
的值?添加notify{“Version:${apache_Version}:}
也许。facter operatingsystem
给出RedHat
facter operatingsystemrelease
给出7.2
(至少在我现在正在工作的系统上)一些类名称正确地包含在init.pp
文件中。至于检查,我不会在任何地方检查。我应该吗?它不是应该这样工作吗,一旦我将version分配给变量,它应该在.rb
文件中使用吗?如果template()
调用在同一范围内,但所显示的清单没有模板(),那么该变量可以在ERB模板中使用调用,因此很难说这是否正确。仅供参考,没有理由以*
结尾正则表达式