我刚刚开始使用木偶,在我的测试site.pp文件中有以下代码:
class { 'account': {
'danny':
home_dir => '/home/danny',
groups => [ 'sudo', 'users' ],
password => 'password'
}
}我正在尝试使用来自木偶Forge的账号模块。我已检查模块安装是否正确。
使用上述代码时给出的错误是:
错误:无法从远程服务器检索目录:服务器上的错误400 :无法为环境生产解析:语法错误在'{';预期的'}‘at /etc/木偶/舱单/site.pp:12节点testpuppet.domain.io警告:不使用缓存失败的目录错误:无法检索目录;跳过运行
site.pp的第12行是:
class { 'account': {文档给出了以下示例:
account {
'sysadmin':
home_dir => '/opt/sysadmin',
groups => [ 'sudo', 'users' ],
ssh_key => 'AAAAB3NzaC1yc2EAAAABIwAAAQEArfQmMkvtWRnwas3DIti9qAuSFQXKcE0kdp5f42PP8l2kTytJPPWp5T/q8PXDQ2d2X5KplMCMDiUQkchqhmDp840jsqBQ9iZPejAjv3w2kITgScFNymAcErtzX52iw4lnUyjZzomCW8G3YthQMaRm2NkI4wcVcjzq+SKyTfzrBoH21RgZlfcx+/50AFRrarpYqel9W5DuLmmShHxD8clPS532Z/1X+1jCW2KikUhdo98lxYTIgFno05lwFOS9Ry89UyBarn1Ecp1zXpIBE7dMQif3UyLUTU9zCVIoZiJj4iO5lemSSV0v8GL97qclBUVJpaCpc4ebR7bhi0nQ28RcxQ==',
comment => 'SysAdmin user',
}我使用的所有其他模块都在一个类中,例如NTP模块:
class {
'::ntp':
servers => [
'0.uk.pool.ntp.org',
'1.uk.pool.ntp.org',
'2.uk.pool.ntp.org',
'3.uk.pool.ntp.org'
],
}使用帐户模块的正确语法是什么?
发布于 2013-07-20 12:04:11
您可以根据需要命名类,但是您需要为资源使用正确的名称。在这种情况下,您想要使用的资源是user。
有一种非常简单的方法可以了解资源的外观:
$ puppet resource user dawud
user { 'dawud':
ensure => 'present',
comment => 'David Sastre Medina,,,',
gid => '1001',
groups => ['sudo', 'audio', 'src', 'video', 'libvirt'],
home => '/home/dawud',
shell => '/bin/bash',
uid => '1001',
}在类中的代码看起来:
class foo {
user { 'dawud':
ensure => 'present',
comment => 'David Sastre Medina,,,',
gid => '1001',
groups => ['sudo', 'audio', 'src', 'video', 'libvirt'],
home => '/home/dawud',
shell => '/bin/bash',
uid => '1001',
}
}Puppetlabs在资源抽象层上有一个非常好的文档,简称RAL。
发布于 2013-07-20 11:56:28
我不是傀儡神童,但你的样本中有一个无与伦比的{。您有一个用于class的打开大括号和另一个用于account的打开大括号,但您只需要关闭帐户大括号。
https://serverfault.com/questions/524938
复制相似问题