在人偶内部分配变量 class
Assign variable inside puppet class
我是 puppet 的新手,所以如果有任何帮助,我们将不胜感激。我正在尝试根据 OS 发行版本将静态数据传递到 Puppet class 内的变量 apache_version
中。此变量稍后将在 .erb
模板文件中用于根据版本配置 apache。现在我的 class 看起来像这样:
class some_class_name () {
case $::operatingsystem {
'RedHat' : {
case $::operatingsystemrelease {
/^7\..*/ : { }
/^6\..*/ : { }
}
}
}
}
如何在 {}
括号内定义这个变量?至于 .erb
文件,应该这样使用:
<%- 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'
}
我也认为这是 Puppet 选择器的一个很好的用例:
$apache_version = $::operatingsystemmajrelease ? { 7 => '2.4', default => '2.2' }
我是 puppet 的新手,所以如果有任何帮助,我们将不胜感激。我正在尝试根据 OS 发行版本将静态数据传递到 Puppet class 内的变量 apache_version
中。此变量稍后将在 .erb
模板文件中用于根据版本配置 apache。现在我的 class 看起来像这样:
class some_class_name () {
case $::operatingsystem {
'RedHat' : {
case $::operatingsystemrelease {
/^7\..*/ : { }
/^6\..*/ : { }
}
}
}
}
如何在 {}
括号内定义这个变量?至于 .erb
文件,应该这样使用:
<%- 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'
}
我也认为这是 Puppet 选择器的一个很好的用例:
$apache_version = $::operatingsystemmajrelease ? { 7 => '2.4', default => '2.2' }