在木偶类中,我应该如何测试节点中是否设置了变量?我使用用户可以访问该页面的 VM 名称(如 server1)和域名(如 example.org)。“example.org”不会通过事实传达,所以我需要通过类参数传递它。我想出了这种方法来在节点块中定义变量并在我的测试类中使用它来进行设置。
node "VM1" {
class { 'test':
domainname => "example.org",
}
[...]
class test ($domainname) {
ini_setting {
'set_property':
ensure => present,
path => '/tmp/test.ini',
section => 'main',
setting => 'url',
value => "https://$domainname";
}
[...]
但是现在我想添加一个条件,如果$domainname
没有设置,那么$hostname
应该使用事实来代替它。
ini_setting {
'set_property':
ensure => present,
path => '/tmp/test.ini',
section => 'main',
setting => 'url',
if $domainname !~ $hostname {
value => "https://$domainname";
} else {
value => "https://$hostname";
}
但现在我每次都会收到这样的错误:
错误:无法从远程服务器检索目录:服务器上的错误 500:服务器错误:“域名”处的语法错误
我应该怎么做?