我正在尝试使用 puppet 配置 EC2 实例。在此过程中,我从 puppetlabs 下载了puppetlabs-postgresql模块。由于我对 puppet 还很陌生,我不想通过在位于/etc/puppet/manifests/site.pp的site.pp 文件中创建类来管理我的数据库。相反,我想在/etc/puppet/modules/database中有一个模块调用数据库。到目前为止,我所做的是在/etc/puppet/modules/database中创建一个init.pp 文件。以下是我的init.pp文件的内容:
class database {
# resources
postgresql::globals{'globals':
version => '9.3',
manage_package_repo => true,
encoding => 'UTF8',
locale => 'it_IT.utf8',
}
postgresql::server{'server':
ensure => 'present',
listen_addresses => '*',
manage_firewall => true,
}
postgresql::server::contrib{'contrib':
package_ensure => 'present',
}
}
然后在我的/etc/puppet/manifests/site.pp文件中,我包含了如下数据库类:
node default {
include localusers
include database
}
但是我不断收到错误消息:
Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid resource type postgresql::globals at /etc/puppet.manifests/init.pp:12
请问在我自己的模块中使用postgresql类和资源并在模块中创建数据库的正确方法是什么?