2

我在从模块中订购资源时遇到了一些麻烦。

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]但是,如果我输入大写字母或.Puppet 不想运行清单postgresql::Role['role1]。没有大写字母,我“只是”收到警告:

警告:弃用通知:资源引用现在应在文件 /home/charly/testManifests/part1.pp 的第 61 行大写

我做错了什么,但我不知道是什么。我在互联网上搜索了答案,但在教程和论坛中都找不到我想要的东西。

4

1 回答 1

0

尝试使用链接箭头到您的资源组引用,例如

Class['postgres'] -> Class['postgresql::server']

class { 'postgres' :
   charset => 'UTF8',
   locale  => 'fr_FR',
   require => Service['postgresqld']
}        

class { 'postgresql::server': }

可以在木偶参考链接箭头中找到更多详细信息

于 2013-06-17T10:39:52.563 回答