从模块订购资源时遇到了一些麻烦。
class { 'postgres' :
charset => 'UTF8',
locale => 'fr_FR',
require => Service['postgresqld'],
}->
class { 'postgresql::server':
}
postgresql::role { 'role1' :
namevar => 'redmine',
password_hash => 'random_md5',
createdb => true,
require => Class['postgres'],
}
postgresql::database_user {'charly':
password => 'random',
role => 'redmine',
require => postgresql::role['role1'],
}
我想订购这个,但它似乎在role
的最后一行有语法错误。
我很确定它来自大写的第一封信。但是如果我输入大写字母Postgresql::role['role1]
或postgresql::Role['role1]
,Puppet不想运行清单。没有大写字母,我只是"只是"得到警告:
警告:弃用通知:资源引用现在应该在文件/home/charly/testManifests/part1.pp
中的第61行上大写
我做错了什么,但我不知道是什么。我在互联网上搜索了一个答案,但无法在教程和论坛上找到我想要的内容。
答案 0 :(得分:0)
尝试将链接箭头用于资源组引用,例如
Class['postgres'] -> Class['postgresql::server']
class { 'postgres' :
charset => 'UTF8',
locale => 'fr_FR',
require => Service['postgresqld']
}
class { 'postgresql::server': }
更多细节可以在木偶参考Chaining Arrows
中找到